2009-08-08 36 views
5

Birkaç öğe içeren bir NSArrayController var. Bu elemanlar 'ad', 'interformation' vb. Gibi birkaç özelliğe sahiptir.NSArrayController'da belirli bir öğenin bulunması

İstediğim şey sadece 'Mads' olarak adlandırılan name özniteliğine sahip olan NSArrayController'da bir öğe bulmak.

Verimlilik çok önemli bir sorun olmadığı için, 'ad' özelliğinin 'Mads' olup olmadığını kontrol ederken NSArrayController'daki tüm öğeleri yineleyerek doğrusal bir arama yapardım.

Ancak NSArrayController'dan bir NSIterator alıyorum, bu yüzden bunu yapmanın başka bir yolu olup olmadığını merak ediyorum.

Herhangi bir yardım için teşekkür ederiz.

cevap

5

İçerik nasıl kullanılır?

// ac is an NSArrayController* 
for (MyObject *mob in ac.content) { 
    if ([mob.name isEqualToString:@"something"]) { 
     // found 
     break; 
    } 
} 
8

yani, bir dizi arrangedObjects, Al ve ya bu yineleme veya filteredArrayUsingPredicate: kullanın.

Bu, dizi denetleyicisinin filterPredicate ayarının yapılmasının daha uygun olmayacağı varsayılmaktadır. Bu şekilde giderseniz, arrangedObjects yalnızca eşleşen nesneleri içerecektir.

+1

Görünürden bir soruya iki yanıt kabul edilemez:/ancak bu yanıt eşittir. –

İlgili konular