我正在重写一个旧的 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。