【发布时间】:2011-05-05 21:22:39
【问题描述】:
我有一个非常简单的 Person 类,它有一个名为 name 的 ivar(一个 NSString)。当我尝试在 dealloc 中释放这个 ivar 时,静态分析器给了我一个奇怪的错误:
引用减量不正确 不拥有的对象的计数 此时由调用者
我做错了什么?
顺便说一句,这是我的代码:
@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
【问题讨论】:
标签: objective-c cocoa memory-management