objective-c – 调用方此时不拥有的对象的引用计数的不正确递减

objective-c – 调用方此时不拥有的对象的引用计数的不正确递减,第1张

概述我有一个非常简单的Person类,它有一个叫做名字的ivar(一个NSString).当我尝试在dealloc中释放这个ivar时,静态分析器给我一个奇怪的错误: Incorrect decrement of the reference count of an object that is not owned at this point by the caller 我究竟做错了什么? 顺便说一句, 我有一个非常简单的Person类,它有一个叫做名字的ivar(一个Nsstring).当我尝试在dealloc中释放这个ivar时,静态分析器给我一个奇怪的错误:

Incorrect decrement of the reference
count of an object that is not owned
at this point by the caller

我究竟做错了什么?

顺便说一句,这是我的代码:

@interface Person : NSObject {}@property (copy) Nsstring *name;@property float expectedRaise;@end@implementation Person@synthesize name,expectedRaise;-(ID) init {    if ([super init]) {        [self setname:@"Joe Doe"];        [self setExpectedRaise:5.0];        return self;    }else {        return nil;    }}-(voID) dealloc{    [[self name] release]; // here is where I get the error    [super dealloc];}@end
解决方法 您正在释放从属性getter方法返回的对象,在许多情况下,这将指示可能的错误.这就是静态分析正在捡起它的原因.

相反,使用:

self.name = nil;

要么:

[name release];name = nil;
总结

以上是内存溢出为你收集整理的objective-c – 调用方此时不拥有的对象的引用计数的不正确递减全部内容,希望文章能够帮你解决objective-c – 调用方此时不拥有的对象的引用计数的不正确递减所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1032990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存