我正在重写一个旧的 OS X 程序,并且在此过程中我第一次使用 ARC。我有一个包含这些属性定义的类:
@property NSMutableArray *variables; //variable names
@property NSData *ebndArray; //boundary energies
它们是这样合成的(我没有声明实例变量):
@synthesize variables = _variables;
@synthesize ebndArray = _ebndArray;
该init方法包含以下几行:
self.variables = [[NSMutableArray alloc] initWithCapacity:self.npparxx];
self.ebndArray = [NSData dataWithBytesNoCopy:theArray length:arrayLength];
对于variables属性的分配,Xcode 给了我警告将保留的对象分配给不安全的属性。ebndArray该物业没有警告。(strong)我知道我可以通过添加到variables属性定义来消除警告(以及由此产生的问题) 。为什么我不需要为ebndArray定义添加它?如果不添加,该ebndArray属性会正常工作(strong)吗?
我在 OS X 10.7.3 下运行 Xcode 4.3.2。