Próbując dostać cały utwór użytkownicy odtwarzania, to działa w Objective-C demo aplikacji, ale gdy próbuję w Swift powraca to:SPTPlaylistSnapshot tracksForPlayback zwraca nil
<SPTPlaylistList: 0x7fca22d72460>: 0-0 of 1 items (Function)
używam tego kodu:
SPTPlaylistList.playlistsForUserWithSession(session, callback: { (error, object) -> Void in
if error == nil {
var playlists = object as! SPTListPage
println(playlists)
SPTPlaylistSnapshot.playlistWithURI(playlists.items[0].uri, accessToken: session.accessToken, callback: { (error:NSError!, obj) -> Void in
var playl = obj as! SPTPlaylistSnapshot
println(playl.firstTrackPage.tracksForPlayback)
})
}
})
i jest to kod Objective-C, który pracuje:
[SPTPlaylistList playlistsForUserWithSession:session callback:^(NSError *error, id object) {
SPTListPage *aa = object;
NSLog(@"%@",aa.items);
[SPTPlaylistSnapshot playlistWithURI:[NSURL URLWithString:@"spotify:user:spotifizr:playlist:3bpGFVfycGnhtcEVb95G98"]
accessToken:session.accessToken
callback:^(NSError *error, SPTPlaylistSnapshot *object) {
NSLog(@"tracks on page 1 = %@", [object.firstTrackPage tracksForPlayback]);
}];
}];
Nie wiem, dlaczego to jest powrót (function)
w projekcie Swift zamiast wszystkich ścieżek.
Edit: Próbowałem
println(playl.firstTrackPage.tracksForPlayback())
ale teraz zwraca nil, chociaż mam 50 utworów z listy odtwarzania.
Sprawdź, czy 'playlists.items [0] .uri' to wysyła poprawnie, zmienić' (błąd: NSError, obj) '' coś podobnego (błędu: NSError!, Obj: SPTPlaylistSnapshot) 'i ostatecznie zmień to' var play1: SPTPlaylistSnapshot = obj' i skomentuj nas. – eliasRuizHz
@eliasRuizHz nie działał, jeśli masz trochę wolnego czasu, możesz wypróbować ten projekt testowy, który wysłałem https://github.com/spotify/ios-sdk/issues/377 – Ankit