【问题标题】:Getting the name and other properties of SPAlbum获取 SPAlbum 的名称和其他属性
【发布时间】:2013-03-14 05:25:10
【问题描述】:

关于 SPTrack 和 SPAlbum 的简单问题

假设我有一个存储在 myTracks 中的 SPTrack 数组

我可以通过做得到这首歌的名字

[[myTracks objectAtIndex:0] name];

但是;当我尝试像这样获取专辑的名称时

[myTracks objectAtIndex:0] album];

返回一个 SPAlbum 对象。这是有道理的,但我无法像这样访问 SPAlbum 的 name 属性:

[[[myTracks objectAtIndex:0] album] name];

name 属性在 SPAlbum.m 中定义为 NSString。我是否试图错误地访问它?感谢您的帮助。

【问题讨论】:

    标签: spotify cocoalibspotify-2.0


    【解决方案1】:

    nil 回复了吗?

    如果是这样,您需要确保首先加载您的对象,使用 SPAsyncLoading

    [SPAsyncLoading waitUntilLoaded:[[myTracks objectAtIndex:0] album] timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notLoadedItems) {
    
        if (loadItems.count == 0) return; // Album didn't load!
    
        NSLog(@"%@", [[[myTracks objectAtIndex:0] album] name]);
    }];
    

    【讨论】:

    • 所以有几个问题让我觉得我做错了。当我尝试[[[myTracks objectAtIndex:0] album] name] 时,我收到语法错误“Bad receiver type sp_album *”当我尝试使用艺术家名称执行此操作时,我可以像[[[myTracks objectatIndex:0] artist] name] 一样访问它,但我收到运行时错误“-[SPTrack 艺术家]:无法识别选择器发送到实例 0xa5986d0"
    • 第一个发生在您将 -album 选择器发送到 SPAlbum 对象时 - 确保您的数组确实只包含轨道。第二个发生是因为 SPTrack 没有 artist 属性 - 它有一个 artists 数组。
    猜你喜欢
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 2011-10-02
    • 2013-02-27
    • 2013-12-02
    相关资源
    最近更新 更多