通过创建(例如)一个NSMutableArray* myArray
属性,然后忘记分配self.myArray = [NSMutableArray array];
,我被太多次地迷住了-init
。在这种情况下,我的应用程序当然不会抱怨,因为[self.myArray addObject:foo]
if self.myArray
is is完全合法nil
。
我意识到这是一个远景,但是是否有lldb属性或属性说明符会导致obj-c确保完成后属性为非nil -init
?
- (NSMutableArray*) myArray
{
NSAssert(nil != _myArray);
return _myArray;
}
您可以编写访问器的此实现myArray
。
您也可以在您的类方法中添加如下内容:
- (void) AssertValid
{
NSAssert(nil != _myArray);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句