问题描述
- (NSMutableArray *)orderArray { if (!_orderArray) {_orderArray = [NSMutableArray array]; } return _orderArray;}
问题解答
回答1:你这个没错的话,应该是在 Objective-C 中的属性 get 方法。其实 @Tr2e 差点就完全正确了,他的答案稍加修改就好了:
lazy var orders: [AnyObject] = []
NO:
// 如果省略 `:` 后面的类型的话,orders 的类型会变为 NSArray,// 而不是 Swift 的类型,也不是 NSMutableArraylazy var orders = []
(PS: orders 才是更佳的命名)
回答2:lazy var orderArray = NSMutableArray()回答3:
单例?如果硬翻译
func orderArray()->NSMutableArray{ if _orderArray != nil {_orderArray = NSMutableArray.array() } return _orderArray}
swift点的话
// 单例类class SharedObject {static let sharedInstance = SharedObject()}// 使用 SharedObject.sharedInstance.doSomething() 回答4:
有个叫lazy的关键字,大约是这样:lazy var array = { let a = NSArray.init(); return a }()