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

  • MikeyMacintosh

    MikeyM

    28 Aralık 2009
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • SellerDp

    SellerDp

    27 EKİM 2009