2012-05-25 53 views
0

我刪除了以前的帖子...objective-c保留,分配和複製?

如果我擁有一個擁有對象objA的類,我該使用哪一個?我知道這個對象不是由班級自己擁有的,它需要保留。

@class A 

@property (retain) ObjectA objA; 

@end 

@implementation A 

-(void) func { 
    self.objA = [[ObjectA alloc] init]; 
} 

@end 

如果將類A中的objA設置爲保留,並且使用初始化函數在func中初始化。這會給2保留計數還是隻有1保留計數。

+0

可能重複[@property(retain)做什麼?](http://stackoverflow.com/questions/6360499/what-does-propertyretain-do) –

回答

1

頁頭給出了保留計數1 self.objA =會給保留計數2(因爲保有財產)

+0

對不起,你是對。我會編輯它。 – whooops

0

我會做:

- (void) func {objA = [[ObjectA alloc] init]; } 

- (void) func { self.objA = [[[ObjectA alloc] init] autorelease]; } 

以防止內存泄漏。不過,我更喜歡第一個解決方案