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

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • Bogdan Gabriel

    Bogdan Gabri

    5 Aralık 2006
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009