2011-07-21 15 views
5

Bir Uygulama geliştiriyorum ve bir noktada birkaç kullanıcı görüşüm var. Temsilci yöntemlerinin dışında, örneğin, tablo görünümlerinin seçili bir hücreye sahip olup olmadığını öğrenmek istiyorum. uitableview'in seçili bir hücreye sahip olup olmadığını nasıl biliyorsunuz

ben kullanmaya çalıştı: (NSIndexPath *)indexPathForSelectedRow ama çalışmıyor, ben seçilmiş bir hücresini [(NSIndexPath *) row] döner "0" yoksa ve nil

Eğer herhangi bir yardım verebilir misiniz değil çünkü eğer ??

teşekkürler ..

+0

Seçilen satırın dizinini bir ivar'a kaydedebilirsiniz. – dasdom

+0

Evet, bu bir fikir. Seçili hücreyi depolayan bir NSMUtablearray zaten var. NSMUtablearray öğesindeki bir nil nesnesini değiştiremediğim için, "i" dizinini sıfırlayamam. Bu nedenle sorun, belirlenmiş bir tablo görünümünün seçili bir hücreye sahip olup olmadığını bilmek. kendimi netleştirdi mi? teşekkürler – Frade

cevap

20

Yöntemin doğru - indexPathForSelectedRow gerçekten hiçbir hücre seçilirse nil döndürür.

NSIndexPath *path = [table indexPathForSelectedRow]; 
if (path){ 
    row = [path row]; 
    ... 
} 
else{ 
// No cell selected 
} 

dip not: Eğer nil nesneye mesaj göndermek ve kullanmaya çalışırsanız Ama değer Yol değeri sıfır ya da değil ondan hücrenin satır almaya çalışırken önce olup olmadığını test etmek gerekir bu nedenle, 0 olacak döndü nil sadece bir tahmin edilmiş 0, bu yüzden pratikte aynı şeydir.

İlgili konular