【问题标题】:Memory management for classes like NSNumber, NSSet [duplicate]NSNumber,NSSet等类的内存管理[重复]
【发布时间】:2013-03-10 17:58:48
【问题描述】:

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

那么为什么它们没有像这样发布: [myNumber release];

谢谢!

【问题讨论】:

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


【解决方案1】:

按照惯例,像您展示的类方法初始化器会创建自动释放的实例,因此您不需要调用release,除非您以某种方式retain 它们。但是,实例方法初始化程序(例如您的情况下的 initWithInteger:)返回保留的实例。那些你需要释放自己的人。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 2012-08-08
      相关资源
      最近更新 更多