2012-05-25 57 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]; } 

以防止内存泄漏。不过,我更喜欢第一个解决方案