我收到一条罕见的信息,发生了什么事?
Deffinition:
@property(nonatomic, retain) SoundPlayer* soundPlayer;
代码:
SoundPlayer *soundPlayerTemp = [[SoundPlayer alloc] init];
self.soundPlayer = soundPlayerTemp;
[soundPlayerTemp release];
消息:
Potential leak of an object allocated on line
答案 0 :(得分:0)
静态分析仪充满误报;你的代码没有任何问题。您可以更简洁,并使用以下内容删除该消息:
self.soundPlayer = [[[SoundPlayer alloc] init] autorelease];
或者切换到ARC,这也是一个很好的选择。
答案 1 :(得分:0)
问题的最可能原因是您没有在dealloc方法中释放该属性。你应该有类似的东西:
-(void) dealloc
{
self.soundPlayer = nil;
[super dealloc];
}
或者,如果您已显式声明实例变量以支持该属性,则建议的代码为
-(void) dealloc
{
[soundPlayer release];
[super dealloc];
}