Voglio mostrare 25 delle canzoni che ho nella mia libreria. Questo è il mio codice:errore fatale: indice fuori intervallo
var allSongsArray: [MPMediaItem] = []
let songsQuery = MPMediaQuery.songsQuery()
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 25 //allSongsArray.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell")
let items = allSongsArray[indexPath.row]
cell?.textLabel?.text = items.title
cell?.detailTextLabel?.text = items.artist
cell?.imageView?.image = items.artwork?.imageWithSize(imageSize)
return cell!
}
Quando ho eseguito questo, si blocca, perché:
fatal error: Index out of range
Ho provato a cambiare il numberOfRowsInSection
-allSongsArray.count
, ma finisce con lo stesso errore.
Si dovrebbe tornare 'allSongsArray.count' piuttosto che un numero letterale; prima che la query sia eseguita, la matrice conterrà 0 elementi. Quale indice stai cercando di accedere quando si verifica l'eccezione? – Paulw11
Arresterà sicuramente con 25 hard-coded come numero di righe, poiché l'array è dichiarato vuoto. Dubito che si bloccherà con 'allSongsArray.count', ma non mostrerà nulla ... – Grimxn
Oh sì, hai ragione. Non mostra nulla. Come posso mostrare 25 canzoni? @Grimxn –