0

NSArray で特定の長さの文字列を取得したい。

配列には多くの要素があり、高速な列挙を使用したくありません。

可能な方法はありますか?

4

3 に答える 3

2

これは魅力のように機能します:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.length == %d", lenght];
NSArray *filtered = [array filteredArrayUsingPredicate:predicate];
于 2012-04-18T11:50:48.927 に答える
2

何をするにしても、気づいているかどうかにかかわらず、高速な列挙を使用することになります。しかし、NSPredicate オブジェクトとfilteredArrayWithPredicateメソッドの使用を検討したことはありますか?

于 2012-04-18T11:28:54.733 に答える
0
NSArray *yourArray = [[NSArray alloc] initWithObjects:@"Apple, Orange, Grapes, Cherry, nil"];

for(NSString *element in yourArray){

    if(element.length==yourLength){
        [filteredArray addObject:element];
    }
}

NSLog(@"Filtered array now contains the elements with length %d", yourLength);
NSLog(@"Filtered array--%@", filteredArray);
于 2012-04-18T11:40:40.917 に答える