SORU
17 EYLÜL 2009, PERŞEMBE


ıPhone - benzersiz değerleri elde NSArray nesneden

NSArray bir özel bir sınıf nesneleri ile oluşturdum. Sınıf 3 (şehir, Eyalet, zip) string özellikleri vardır. array Tüm eşsiz devlet değerleri almak istiyorum.

NSPredicate sınıfı okuma ile yaptım ama bu durumda kullanmak için ne kadar gelemedi. Bulabildiğim tek örnek dize operasyon yapıldı.

Biri bana yardım edebilir misiniz?

CEVAP
17 EYLÜL 2009, PERŞEMBE


Tamamen basit bir liner:

NSSet *uniqueStates = [NSSet setWithArray:[myArrayOfCustomObjects valueForKey:@"state"]];

Hile NSArray valueForKey: yöntemdir. Bu dizi sayesinde (myArrayOfCustomObjects) yineleme, her nesne üzerinde -state yöntemi ve sonuçları bir dizi inşa edecek. Biz o devletlerin ortaya çıkan dizi NSSet çiftleri kaldırmak için oluşturun.


İOS 5 ile başlayan ve X 10.7, OS bu da yeni bir sınıf: NSOrderedSet. Sıralı bir dizi avantajı herhangi çiftleri kaldırmak, ama aynı zamanda göreli düzeni korumak olacaktır.

NSArray *states = [myArrayOfCustomObjects valueForKey:@"state"];
NSOrderedSet *orderedSet = [NSOrderedSet orderedSetWithArray:states];
NSSet *uniqueStates = [orderedSet set];

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Official Android Tips

    Official And

    23 EYLÜL 2009
  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008