NSNumber,NSSet等类的内存管理

时间:2013-03-10 17:58:48

标签: objective-c memory-management nsnumber nsautoreleasepool nsset

这些是类,它们声明指针......对象对吗?您可以像对象一样向它们发送方法。 NSNumber * myNumber = [NSNumber numberWithInteger: x];

那么他们为什么不这样发布: [myNumber release];

谢谢!

2 个答案:

答案 0 :(得分:1)

您应该记住有关内存管理“NARC”的规则:当您使用New Alloc Retain Copy时,您应该释放或自动释放对象,否则您不应该。

答案 1 :(得分:1)

按照惯例,像你所示的类方法初始值设定项创建了自动释放的实例,所以你不需要调用release,除非你以某种方式retain。但是,实例方法初始值设定项(如您的情况下为initWithInteger:)将返回保留的实例。那些你需要释放的人。