如何检查变量是NSArray还是NSMutableArray?
发布于 2015-02-12 20:02:50
我会做以下事情-
if([unkownArray isKindOfClass:[NSMutableArray class]]){
// This is a nsmutable array
}
else if ([unkownArray isKindOfClass:[NSArray class]]){
// This is a nsarray
}
发布于 2011-10-28 06:06:43
如果你想要一个可变的数组,你可以自己做:
NSArray *someArray = /* obtain from somewhere, could be mutable, could be immutable */
NSMutableArray *mutableVersion = [someArray mutableCopy]; // definitely mutable
// later
[mutableVersion release];
在极少数情况下,检查内部类型是个好主意(其他答案已经介绍过了)。如果你想要一个可变的数组,不要检查现有的数组是否是可变的,只需要自己创建一个,这样你就知道它是可变的。
发布于 2009-11-24 16:40:43
请参阅NSObject's -class
方法:
NSLog(@"myUnknownArray is of type: %@", [myUnknownArray class]);
您还可以使用+class
方法进行更直接的检查:
BOOL isMutableArray = [myUnknownArray isKindOfClass:[NSMutableArray class]];
https://stackoverflow.com/questions/1788690
复制相似问题