相关疑难解决方法(0)

如何在Objective-C中测试对象是哪个类?

如何在Objective-C中测试对象是否是特定类的实例?假设我想看看对象a是b类的实例,还是类c,我该怎么做呢?

objective-c

207
推荐指数
2
解决办法
14万
查看次数

将非NSObject添加到NSMutableArray

最近的SO 讨论使我感到困惑.NSMutableArray原型addObject:

- (void)addObject:(id)anObject
Run Code Online (Sandbox Code Playgroud)

id在objc.h中定义为

typedef struct objc_class *Class;
typedef struct objc_object {
    Class isa;
} *id; 
Run Code Online (Sandbox Code Playgroud)

当我将一个NSObject或子类添加到一个时NSMutableArray,它的保留计数会递增,当我从中删除它时,NSMutableArray它会递减.这是否意味着如果一个id type不是一个NSObject或一个子类被添加到一个NSMutableArray,它必须响应保留和释放消息?这个定义id似乎并不强迫这一点.它是一个客观的C指令,任何人id type都应该响应标准的内存管理消息吗?

reference-counting objective-c foundation nsarray ios

13
推荐指数
1
解决办法
1110
查看次数