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

  • AceHoodVEVO

    AceHoodVEVO

    12 Mayıs 2009
  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009
  • GFX Tutorials

    GFX Tutorial

    12 AĞUSTOS 2013