SORU
21 EYLÜL 2008, Pazar


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
21 EYLÜL 2008, Pazar


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" }

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • Grace Su

    Grace Su

    6 Ocak 2006
  • Mr. H

    Mr. H

    1 Temmuz 2012