2011-10-02 67 views
0

我運行分析基礎上的Xcode,並得到一個警告,因爲一個對象,它是一個屬性,比如VARiphone的dealloc財產

的泄漏.H

UIView *_transparentView; } 
    @property (nonatomic, retain) UIView *transparentView; 

.M

@synthesize transparentView = _transparentView; 


self.transparentView = [[UIView alloc] initWithFrame:transparentViewFrame]; 

- (void)dealloc { 
[_transparentView release]; 

所以我釋放了dearoc上的ivar,但是如何釋放這個屬性?,[self.transparentview release] ??

+0

您對2個保留負責:1爲alloc並且1爲屬性(retain屬性),但您只做1次發佈。你可以添加一個autorelease self.transparentView = ...是乾淨的。 – Tom

+0

或者直接將alloc'd對象分配給_transparentView。 – Flyingdiver

回答

1

正如湯姆回答更換指定的「transparentView」與線:

self.transparentView = [[[UIView alloc] initWithFrame:transparentViewFrame] autorelease]; 

當你到一個保留的財產,你應該,你應該釋放分配的值,如果你用它做任何價值,在釋放該類時釋放該屬性。