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

  • colacas

    colacas

    29 EKİM 2006
  • Machinima

    Machinima

    17 Ocak 2006
  • Skittles Page

    Skittles Pag

    28 Mart 2011