1
これは少し具体的かもしれませんが、私は自分のコードを見つめており、この問題を解決できません。基本的には、特定のプレイリストを取得し、最終的に戻ってくる曲の数を決定する番号を渡すことを目指すネットワークコールを行っています。コードは基本的に次のようになります。SpotifyへのAPIコールの後でオプションをアンラッピングしてnilを見つけるのが予期せず
// A network call is made just above to return somePlaylist
let playlist = somePlaylist as! SPTPartialPlaylist
var songs: [SPTPartialTrack] = []
// load in playlist to receive back songs
SPTPlaylistSnapshot.playlistWithURI(playlist.uri, session: someSession) { (error: NSError!, data: AnyObject!) in
// cast the data into a correct format
let playlistViewer = data as! SPTPlaylistSnapshot
let playlist = playlistViewer.firstTrackPage
// get the songs
for _ in 1...numberOfSongs {
let random = Int(arc4random_uniform(UInt32(playlist.items.count)))
songs.append(playlist.items[random] as! SPTPartialTrack)
}
}
問題はランダムを初期化するコードの部分にあります。おそらく、この関数の呼び出しで20回に1回、私は、何のためにも、playlist.items.countの値をアンラップして、理由を把握できないように見えます。たぶんAPI呼び出しやそれ以外の何かについて私が理解していないことがあるかもしれませんが、私はそれを理解できないようです。
誰でもこの問題に対処する方法や、これをデバッグする方法を教えてください。