- Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
75 :デフォルトの名無しさん[sage]:2014/11/15(土) 14:35:07.73 ID:O7G7JpVO - メソッドの解決を名前だけでなく型でもやろうとすると何気に大変
仮にあるクラスAに -(void)foo:(NSObject*)x; -(void)foo:(NSNumber*)x; -(void)foo:(NSString*)x; という3つのメソッドがあったとして [a foo:x]; のように呼んだとき、どのメソッドを呼べばいいかはxの型だけでなく継承関係も調べないといけない 例えばxがNSMutableStringだったらNSStringのやつを呼んでほしいだろう NSMutableStringはNSObjectでもあるわけだがNSStringの方がより特殊なので優先度が高い そうなるとメソッドを優先度で並べて型が該当するか上から順に調べねばなるまい 実行時のコストとして許容できるかどうか
|