SORU
6 HAZİRAN 2009, CUMARTESİ


Kullanarak bir NSArray NSDictionary anahtarları süzmek NSPredicate

Sözlükler bir dizi var.

Dizi bir anahtar süzmek istiyorum.

Bunu denedim:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT ==  %@)", @"Football"];

NSArray *filteredArray = [data filteredArrayUsingPredicate:predicate];

Bu işe yaramazsa, hiç bir sonuç alıyorum. Yanlış bir şey yaptığımı düşünüyorum. Bu "SPOR" ıvar. eğer bu yöntemi biliyorum Eğer bir anahtar varsa muhtemelen farklı olduğunu düşünüyorum.

Bir örnek ancak bulmak mümkün olmamıştır.

Teşekkürler

< / ^ hr .

Güncelleme

Arıyorum dizesi tırnak ekledim.

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(SPORT ==  '%@')", @"Football"];

Hala çalışmıyor.

< / ^ hr .

Güncelleme 2

Sorunumu hallettim. Ben kılavuzda ne diyor karşı gitmek gibi görünüyor, tek tırnak, kaldırmak zorunda kaldı.

Benim gerçek sorun, iç içe geçmiş bir dizi vardı ve aslında sözlükler değerlendirme değildim. Kemik kafa taşıyın.

CEVAP
6 HAZİRAN 2009, CUMARTESİ


Çalışması gerekir - veri değişkeni aslında bir dizi anahtar SPORU ile bir Sözlük içerir

NSArray *data = [NSArray arrayWithObject:[NSMutableDictionary dictionaryWithObject:@"foo" forKey:@"BAR"]];    
NSArray *filtered = [data filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(BAR == %@)", @"foo"]];

Bu durumda filtre içeren sözlük.

(%@alıntı olmak zorunda değildir, bu yapıldığında bu NSPredicate nesne oluşturur.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canal de arkyoru

    Canal de ark

    18 Ocak 2007
  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009
  • theKGB65

    theKGB65

    24 Aralık 2007