- 202 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 13:57:52 ]
- >>200
Obj-C触り始めて間もないのかな?isKindOfClass: は全く、全然、断じて、1_も、 最後の手段ではない。むしろ型判定の、最初の手段といっても過言ではない。 NSString などのクラスクラスタは、isMemberOfClass: では正しく判定できない。 NSString *hoge = @"~/Documents"; NSString *piyo = [hoge stringByExpandingTildeInPath]; [hoge isMemberOfClass:[NSString class]]; // NO, hoge: NSCFString class [hoge isKindOfClass:[NSString class]]; // YES [piyo isKindOfClass:[hoge class]]; // NO, piyo: NSPathStore2 class KVO では、-(Class) class さえ監視状態によって入れ替えるんだし。 Obj-Cにおいて、isKindOfClass: respondToSelector: object_getClass() 、 何を使おうとも、「正しい」型判定は現状で不可能。NSArray/MutableArray などは、実際に要素を追加/削除して例外発生させない限り、判定できない。
|

|