objective-c - oc这段代码转化为swift 应该怎么写的?

【字号: 日期:2023-12-05浏览:69作者:雯心

问题描述

- (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 }()

相关文章: