【问题标题】:CocoaLibSpotify Create playlists endingCocoaLibSpotify 创建播放列表结尾
【发布时间】:2013-07-13 00:21:21
【问题描述】:

我正在创建一个基于 cocoaLibSpotify 的 IOS 应用。

在某些时候,我正在从一系列歌曲中创建一个 Spotify 播放列表。我之前已经获得了所有的 Spotify URI,然后我创建了播放列表并一一添加了所有曲目。

下面的代码在应用程序的逻辑类中,然后我有一个控制器来显示结果。 问题是我从控制器调用此逻辑,但我不知道添加过程完成后返回的方法。我试图实现一个委托,但我不知道该怎么做......

将曲目添加到播放列表的正确方法是什么?我一直在搜索文档和 GitHub 存储库,但我只找到了一个带有两个嵌套轨道添加的示例......:S

提前致谢! (对不起我的英语)

- (void) createPlaylist:(NSArray*)spotifyURIs withName:(NSString*)name {

    int songsRead = 0;
    [container createPlaylistWithName:name callback:^(SPPlaylist *createdPlaylist) {

        [SPAsyncLoading waitUntilLoaded:createdPlaylist timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedPlaylist, NSArray *notLoadedPlaylist) {

            for (int i=[spotifyURIs count]-1; i>=0; i--) {

                NSString *trackURI = spotifyURIs[i];
                if (trackURI != nil){
                    [[SPSession sharedSession] trackForURL:[NSURL URLWithString:trackURI] callback:^(SPTrack *track) {
                        if (track != nil) {
                            [createdPlaylist addItems:[NSArray arrayWithObject: track] atIndex:[[createdPlaylist items] count] callback:nil];
                        }
                    }];
                }

                songsRead++;

                // If I have read the whole tracklist, end of the process, returning to controller...
                if (songsRead == [spotifyURIs count]){
                    // ...
                }
            }
        }];
    }];
}

【问题讨论】:

    标签: iphone ios cocoalibspotify-2.0 libspotify


    【解决方案1】:

    您需要在新播放列表上使用 KVO 系统或使用 BLOCKS 你可以实现这样的东西

    typedef void (^spotifycompletionWithData)(id 数据);

    -(void)addTrack:(NSString *)trackURI withCompletionBlock:(spotifycompletionWithData)CompletionBlock;

    然后,每当您调用该函数时,您都应该在完成块中返回加载的 SPTRACK,我希望它有所帮助

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      相关资源
      最近更新 更多