Cocoaの添字演算子"[]"のオーバーロード¶
数値による添字演算子のオーバーロード
以下のメソッドを実装しているとObj[nnn]が使えるようになる。
- (id)objectAtIndexedSubscript:(NSUInteger)idx;
- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx;
文字列による添字演算子のオーバーロド
以下のメソッドを実装しているとobj[@"string"]が使えるようになる。
- (id)objectAtKeyedSubscript:(id <NSCopying>)key;
- (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key;
NSArrayとNSDictonary以外でどのように使うべきかは不明。C++のように超絶技巧で使うときも有るのかもしれない。
Comments
comments powered by Disqus