gpt4 book ai didi

iphone - CocoaLibSpotify 创建播放列表结尾

转载 作者:行者123 更新时间:2023-11-28 22:30:21 26 4
gpt4 key购买 nike

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

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

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

将轨道添加到播放列表的正确方法是什么?我一直在搜索文档和 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]){
// ...
}
}
}];
}];
}

最佳答案

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

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

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

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

关于iphone - CocoaLibSpotify 创建播放列表结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17625793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com