2009-11-03 7 views

答えて

34
for (WhateverYourClassNameIs *whateverNameYouWant in yourArrayName) { 
    [whateverNameYouWant performSelector]; 
    more code here; 
} 

これは高速列挙と呼ばれ、Objective C 2.0の新機能であり、iPhoneで利用できます。

+1

これはより良いメモリ管理の方法です:このコードは、機能的に同等です私はDave DeLongのPredicatesに関する記事を好きです。 –

17

私はおそらくこのようなものになるだろう述語を、使用したい:

NSArray * filtered = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"aProperty = %@", @"someValue"]]; 
NSLog(@"number of items where aProperty = someValue: %d", [filtered count]); 

編集:

NSMutableArray * filtered = [NSMutableArray array]; 
for (MyCustomObject * object in myArray) { 
    if ([[object aProperty] isEqual:@"someValue"]) { 
    [filtered addObject:object]; 
    } 
} 
+0

このコードを少し説明すると気になりますか?私はiPhone初心者でObj-C初心者です。あなたのコードは小さくてすばらしく見えますが、私が理解していないことを使うのは嫌いです。 –

+1

'filteredArrayUsingPredicate'と' NSPredicate predicateWithFormat'のためにDocsを読んでください – mga

+1

@Pselus - 編集された答え –

関連する問題