2012-03-27 13 views
58

Bir dizi/nesne kümesi almanın ve ilk dizideki her öğenin bazı özelliklerini içeren yeni bir dizi/dizi oluşturmanın uygun bir yolu var mı? Örneğin, bir dizi Araba nesneleri içerir. Her arabanın bir NSObject car.licensePlate olduğu bir dizi lisans Tablosuna ihtiyacım var.Başka dizideki nesnelerin özelliklerinden dizi oluşturma

Şu anda, yalnızca, değiştirilebilen sonuç dizilimime nesne ekleyen ilk dizi boyunca yineliyorum, ancak bunun için var olan bir örnekleme yöntemi olup olmadığını merak ediyordum (NSArray için belgelere bakın).

cevap

113

Bu myCars dizideki her öğeden licensePlate değerini içeren bir dizi döndürür:

NSArray *licensePlates = [myCars valueForKeyPath:@"licensePlate"] 

(örneğin) yalnızca benzersiz öğeleri istiyorsanız, böyle bir şey yapabilirsiniz:

NSArray *licensePlates = [myCars valueForKeyPath:@"@distinctUnionOfObjects.licensePlate"]; 

Daha fazla olanak için Key-Value Coding Programming Guide belgesindeki Collection Operators belgelerine bakın.

+0

Sanırım kullanıcı @unionOfObjects ilk durumda kullanılmalıdır. – singingAtom

+1

Harika cevap! Dokümanların bağlantısı artık çalışmıyor gibi görünüyor. İşte doğru bağlantı: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/KeyValueCoding/CollectionOperators.html – prad

İlgili konular