2012-04-24 2 views
2

NSMutableArrayにNSIntegersが設定されています。私は配列をループする必要があります。私はできます:NSIntegerでfor-inループを使用しますか?

// given NSMutableArray *array of NSIntegers 
NSUInteger n = [array count]; 
for (NSInteger i = 0; i < n; i++) { 
    NSInteger x = [array objectAtIndex:i]; 
    // query SQLite WHERE id = x 
} 

しかし、for(配列の中のオブジェクト)ループはより洗練されたようです。 iOS 5はfor-inループのオブジェクトとしてNSIntegersまたはNSNumberを受け入れません。 NSIntegerにNSObjectをキャストしてNSObjectsで配列をループする必要がありますか?別の方法がありますか?または、この問題の最もクリーンな解決策の上にあるようなforループですか?

NSArray *array = /*NSArray with NSNumber*/; 

    for (NSNumber *n in array) { 
     NSLog(@"i: %d", [n intValue]); 
    } 

チェックこのアウト:

答えて

5

のObjective-Cでは、あなたはのために、このようなのNSNumberでループを使用することができます。

+0

大変感謝します。いくつかの操作ではNSNumberをNSIntegerに変換する必要がありますが、これはきれいできれいです – tenedor

関連する問題