私は私のライブラリにある25の曲を表示したいと思います。これは私のコードです:致命的なエラー:インデックスが範囲外です
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!
}
私はこれを実行すると、それがクラッシュし、ので:
fatal error: Index out of range
私はallSongsArray.count
にnumberOfRowsInSection
を変更しようとしましたが、それは同じエラーで終わります。
の代わりにカウント返却してください。クエリが実行される前に配列には0個の項目が含まれます。例外が発生したときに、どのインデックスにアクセスしようとしていますか? – Paulw11
配列が空であると宣言されているので、行数としてハードコードされた25で確実にクラッシュします。私は 'allSongsArray.count'でクラッシュするのではないかと疑いますが、何も表示されません... – Grimxn
ああ、そうだよ。それは何も表示されません。どのように私は25曲を表示できますか? @Grimxn –