【问题标题】:iphone release deallociphone释放dealloc
【发布时间】:2011-03-21 12:07:46
【问题描述】:

我希望最好地了解 dealloc 和 release 函数之间的区别...... 例子... 我的类派生自 NSObject calle MyClass 在我的代码中,为了使用这个类,我创建了一个 MyClass 的实例..

// initialization
MyClass* test = [[MyClass alloc] init];

//do some stuff....

// release??
[ test release];

对吗??和dealloc???需要按顺序使用还是一个覆盖另一个??

【问题讨论】:

标签: iphone class release instance dealloc


【解决方案1】:

当retainCount == 0时自动调用dealloc。每次调用[test release]时retainCount减一。

在您的示例中,一切都很好,因为您进行了分配测试(保留计数 +1)然后释放(保留计数 0)。会自动调用 Dealloc

【讨论】:

  • 在您的示例中,您有两个实例,每个实例的保留计数 +1
  • 好的,但是你能给我写一个你有retainCount = 2的例子吗?这个东西的用途是什么?非常感谢诺亚! p.s. ho visto che sei italiano!!!! :)
【解决方案2】:

只要那是test 生命的尽头,你就是对的。 test 的 Dealloc 将根据您的 [ test release] 语句自动发生。

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多