filtreleme objective-c yeni bir NSArray içine NSArray
NSArray
Bir ben var ve belirli kriterleri karşılayan orijinal dizideki nesneleri ile NSArray
yeni bir oluşturmak istiyorum. Kriterleri BOOL
döndüren bir işlev tarafından belirlenir.
Filtre işlevi kabul eden nesneler üzerinde NSMutableArray
kaynak yineleme dizi ve bir kopyasını oluşturmak ve sonra da değişmez bir sürümünü oluşturun.
Daha iyi bir yolu var mı?
CEVAP
NSArray
NSMutableArray
yöntemleri dizinin içeriği filtrelemek için sağlar. NSArray
sağlarfilteredArrayUsingPredicate:yeni bir dizi belirtilen yüklem eşleşen alıcı nesneleri içeren verir. NSMutableArray
eklerfilterUsingPredicate:belirtilen karşılaştırma belirtimi karşı alıcının içerik değerlendirir ve yalnızca eşleşen nesne bırakır. Bu yöntemler aşağıdaki örnekte gösterilmiştir.
NSMutableArray *array =
[NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melissa", nil];
NSPredicate *bPredicate =
[NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];
NSArray *beginWithB =
[array filteredArrayUsingPredicate:bPredicate];
// beginWithB contains { @"Bill", @"Ben" }.
NSPredicate *sPredicate =
[NSPredicate predicateWithFormat:@"SELF contains[c] 's'"];
[array filterUsingPredicate:sPredicate];
// array now contains { @"Chris", @"Melissa" }
Nasıl bir NSString içine NSArray öğele...
Objective-C -> dize gibi: sınıf [NS...
Nasıl veri objective-c nesne () NSArra...
Objective-C NSString için NSArray dönü...
Sıralama tarih dizeleri ya da nesneler...