【问题标题】:Analyzer showing warning on the line of allocation of property variables分析器在属性变量分配行上显示警告
【发布时间】:2011-08-16 10:03:06
【问题描述】:

我遇到了一个奇怪的问题,静态分析器在

self.myProperty = [[aClass alloc] initWithObject:anObject];

因为这是我的 ViewController 类的一个属性,所以我在类中的任何地方都需要该对象,并且我在 dealloc 方法中释放该对象。

[myProperty release];
myProperty = nil;

起初我将dealloc中的对象释放为

[self.myProperty release];

当时分配部分的警告消失了,但发布行中出现了另一个警告“调用者此时不拥有的对象的引用计数不正确递减”。

如何解决这个问题?

【问题讨论】:

    标签: iphone memory-management


    【解决方案1】:

    myProperty 的设置器是否也保留该对象?这或许可以解释泄漏警告。

    【讨论】:

    • yes Mihal,myProperty 对象保留该对象。那么我应该如何解决这个问题呢?
    • 您可能想在设置对象后释放该对象。这样,对象的保留计数为 1。
    • 设置后释放对象时,应用崩溃了。
    • 在这种情况下,setter 没有进行保留,或者您正在其他地方进行额外的发布;确保所有保留/释放都配对。
    猜你喜欢
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多