...................
環境:OSX10.8、Xcode4.5 参照: https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual /KeyValueCoding/Articles/SearchImplementation.html#//apple_ref/doc/uid /20000955-CJBBFFA countOf メソッドと他の 2 つの可能なメソッドの少なくとも 1 つが すべての NSArray メソッドに応答するコレクション プロキシ オブジェクトは 戻ってきた。コレクション プロキシ オブジェクトに送信される各 NSArray メッセージは、 countOf、objectInAtIndex:、および AtIndexes: メッセージのいくつかの組み合わせで valueForKey: の元の受信者に送信されます。
私の手順:
1) MyObject.hにproperty
forを作成します。NSArray* arrs
2) MyObject.m で
@implementation MyObject
- (void)setArrs:(NSArray*)arrs
{ _arrs=arrs; }
- (NSUInteger) countOfArrs
{ NSLog("Im here");
return 0;}
- (id) objectInArrsAtIndex:(NSUInteger)index
{ NSLog(@"objectInArrs");
return nil;
}
@end
3) テストコード
MyObject* obj=[[MyObject alloc] init];
NSArray* arr=[NSarray arrayWithObjects:@"abc",nil];
[obj setArrs:arr];
NSLog(@"%d",[[obj valueForKey:@"arrs"]count]);
NSLog(@"%@",[[obj valueForKey:@"arrs"] objectobjectAtIndex:0])
私の質問:
countOfArrs
私はそれが自動的に呼び出されることを期待していobjectInArrsAtIndex:
ますが、そうではありませんでした。通常の NSArray を返し、カウント数を 1 と 'abc' で表示するだけです。
役立つサンプルが見つかりませんでした。または、ドキュメントの内容を誤解している可能性がありますね。
私のタング語は英語ではありません。