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

  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • MusicDeluxeTV

    MusicDeluxeT

    14 Mayıs 2010