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

  • Avast

    Avast

    27 NİSAN 2006
  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006