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

  • iNCH

    iNCH

    20 Temmuz 2009
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • TheRightTire

    TheRightTire

    14 EKİM 2009