addObserver:toObjectsAtIndexes:forKeyPath:options:context:
指定した順番でキーバリューオブザービングの通知に登録します
-(void)addObserver:(NSObject *)anObserver toObjectsAtIndexes:(NSIndexSet *)indexes forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions )options context:(void *)context
解説
指定した順番でキーバリューオブザービングの通知に登録します。
addObserver:forKeyPath:options:context:.を繰り返し呼び出すよりもかなり速いです。
返り値
( void )
なし
引数
( NSObject * )anObserver
オブザーバーオブジェクト
( NSIndexSet * )indexes
番号
( NSString * )keyPath
キーパス
( NSKeyValueObservingOptions )options
オプション
( void * )context
コンテキスト
フレームワーク
Foundation
クラス
NSArray
使用可能
10.3
iOS2.0
参照
-removeObserver:fromObjectsAtIndexes:forKeyPath:
例文
//監視対象のオブジェクト通知 -(void )observeValueForKeyPath:(NSString *)keyPath ofObject:( id )object change:(NSDictionary *)change context:(void *)context { NSLog( @"key = %@,object = %@,change = %@" ,keyPath,[object description],[change description]); } #pragma mark addObserver:toObjectsAtIndexes:forKeyPath:options:context: -(void)method013 { NSMutableString *aString = [NSMutableString stringWithCapacity:1]; [aString appendString:@"aString"]; NSMutableArray *anArray = [NSMutableArray arrayWithObjects:@"aaa",[NSNumber numberWithFloat:2.0],@"bbb",@"ccc",@"ddd",@"eee",@"fff",@"ggg",@"hhh",nil]; [anArray addObject:aString]; NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSet]; [indexSet addIndex:3]; [indexSet addIndex:4]; [indexSet addIndex:5]; [indexSet addIndex:6]; [indexSet addIndex:7]; [indexSet addIndex:8]; [indexSet addIndex:9]; // [anArray addObserver:self //(NSObject *)anObserver toObjectsAtIndexes:indexSet //(NSIndexSet *)indexes forKeyPath:@"selection" //(NSString *)keyPath options:NSKeyValueObservingOptionInitial //(NSKeyValueObservingOptions )options context:nil //(void *)context ]; [aString appendString:@"+aString"]; [anArray removeObjectAtIndex:9]; //NSLog(@"013 = %@",[anArray description]); //=> }