2016-04-14 10 views
0

Tablo görüntüsüne farklı görüntüler görüntülemek istiyorum. ve görüntü isimlerini sqlite olarak sakladım. Bu yüzden, her zaman görüntü adını veritabanından sormam gerektiğini veUITableView sqlite görüntüleri

'u kullanmam gerektiğini düşünüyorum, ancak bir sorun var. Burada ne yapmalıyım? yöntemdir: Hata

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 3 beyond bounds [0 .. 2]' 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]; 

// Configure the cell... 

NSInteger picture = [self.database.arrayColumnNames indexOfObject:@"picture"]; 

cell.imageView.image = [UIImage imageNamed:[@"%@.jpg",[self.arraySonglistInfo objectAtIndex:indexPath.row] objectAtIndex:picture]]; 

return cell; 
} 

olduğunu

Ve bir uyarı "İfade sonucu kullanılmayan" bu satırda vardır:

cell.imageView.image = [UIImage imageNamed:[@"%@.jpg",[self.arraySonglistInfo objectAtIndex:indexPath.row] objectAtIndex:picture]]; 
+0

Devam etmek için biraz daha fazla ihtiyacımız olacak. Hangi hatayı aldın? Ne yanlış gitti? İçinde hangi kodu koydun? –

+0

Güncelleme, teşekkürler! – Xie

cevap

0

Sorun NSInteger resim ile olan hat. Bu hesaplama, 0 - 2 arasında bir sayıya ihtiyaç duyduğunda 9223372036854775807 numarasını vermiştir.

+0

Daha fazlasını açıklar mısınız, çünkü bu satırı da veritabanından diğer veriler almak için kullanırım, isimler gibi, hepsi iyi gider. – Xie

+0

Bu satıra bir kesme noktası koyun ve resmin değerini kontrol edin. 9223372036854775807, indexOfObject: @ "picture" için NSNotFound anlamına gelir. –

+0

"Resmin" adını değiştirdim ve hata [__NSArrayM objectAtIndex:] haline geldi: index 3 sınırların ötesine [0 .. 2] – Xie