macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

-enumerateObjectsWithOptions:usingBlock:

INDEX>Foundation>NSArray

配列で最初のオブジェクトから終わりのオブジェクトに順番にそれぞれのオブジェクトにブロックを実行します。
- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts
 usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop))block

解説

返り値

void

なし

引数

(NSEnumerationOptions)opts

block
返り値 void (^)
id obj
NSUInteger idx
BOOL *stop

クラス

NSArray

使用可能

iOS 4.0以降

例文

#pragma mark NSArray enumerateObjectsWithOptions:usingBlock:
-(void)method024
{
    
    NSArray *anArray = @[@"aaa",@"bbb",@"ccc"];
    NSString *itemToFind = @"ccc";
    __block BOOL foundIt = NO;//ブロック内で変更できるように__blockを付ける
    //配列anArrayにcccが含まれるかどうかを探す。
    [anArray enumerateObjectsWithOptions:NSEnumerationConcurrent //並列 
                                         //NSEnumerationReverse  //逆向き
                                 usingBlock:^(id s,NSUInteger idx,BOOL *stop){
                                     
                                     if ([(NSString*)s isEqual:itemToFind]) {
                                         foundIt=YES; //見つけたらfoundItをYESに
                                         *stop=YES;     //見つけたら検索をストップ
                                     }
                                     return;
                                     
                                 }]; 
    
    NSLog(@"%s : %@", __FUNCTION__,foundIt?@"YES":@"NO");
    //=>[OOOAppDelegate method024] : YES
    
}

編集時のバージョン

OS X 10.8
iOS 7.0