NSDictionary
を使用し、知る必要がある場合Gendolkariが言ったとClass Clusters are documentedとして、クラスクラスタです。
また、プライベートサブクラスの正確な識別情報に依存することはできません。
あなたは確かにそれが辞書であるかどうかを決定するために次の操作を行うことができる必要があります:それはNSDictinoary
クラスの一部として実装された辞書であることを、少なくとも
[myThingaMaHoover isKindOfClass: [NSDictionary class]];
あるいは、クラスタ。
辞書(または文字列、配列、またはセット)が変更可能かどうかを判断するには、isKindOfClass:
またはisMemberOfClass:
を使用します。検討:
NSDictionary *d = [NSDictionary dictionaryWithObject: [[NSObject new] autorelease] forKey: @"Bob"];
NSMutableDictionary *m = [NSMutableDictionary dictionaryWithObject: [[NSObject new] autorelease] forKey: @"Bob"];
NSLog(@"d class: %@ %@ %@", [d class], [d superclass], [[d superclass] superclass]);
NSLog(@"m class: %@ %@ %@", [m class], [m superclass], [[m superclass] superclass]);
この出力:
d class: NSCFDictionary NSMutableDictionary NSDictionary
m class: NSCFDictionary NSMutableDictionary NSDictionary
d
とm
は(NSDictionary
から継承)NSMutableDictionary
から継承NSCFDictionary
の両方のインスタンスです。
そして、次の質問が「辞書が変更可能かどうかを判断しようとしています」とすれば、それはできません。 – bbum
'isMemberOfClass:[NSMutableDictionary class]'を使用できませんか? – GendoIkari
はい、isMemberOfClass:辞書が変更可能かどうかを判断するために使用できます。 – JustSid