【发布时间】:2012-04-12 01:42:27
【问题描述】:
我为创建 getter/setter 的 NSArray 创建了一个属性。我知道 Apple 建议在 init 和 dealloc 方法中使用实例变量。我试图在下面的代码中弄清楚该怎么做。
(1) 我需要额外的发布声明吗?数组的保留计数不会是 2,然后是 1 与 dealloc,留下泄漏。还是 autorelease 会解决这个问题?
(2) xCode 或工具中是否有某种方法可以跟踪特定变量以查看其保留计数通过该过程。
@property (nonatomic, retain) NSArray *array;
@synthesize arrary = _array;
- (id)initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil
initWithArray:(NSArray *)array
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
_array = [[NSArray alloc] initWithArray:array];
}
return self;
}
- (void)dealloc
{
[_array release];
[super dealloc];
}
【问题讨论】:
-
results中的[[NSArray alloc] initWithArray:results];是什么? -
对不起,应该是数组。只是从另一个类传递的数组
标签: iphone objective-c ios