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

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • njhaley

    njhaley

    24 NİSAN 2006
  • taliajoy18

    taliajoy18

    12 Temmuz 2011