注册 登录
主题 : swift懒加载问题,新手求指教
级别: 新手上路
UID: 562472
精华: 0
发帖: 25
可可豆: 79 CB
威望: 79 点
在线时间: 156(时)
注册时间: 2016-05-11
最后登录: 2018-05-23
0 楼:  发表于: 2018-04-20 15:17    发自: Web Page

swift懒加载问题,新手求指教   

oc :
- (NSMutableArray *)arr
{
    if (_ arr == nil) {
        _ arr = [[NSMutableArray alloc]init];
    }
    return _ arr;
}
swift:
lazy var arr: Array<Any> = {
        var arr = Array<Any>()
        return arr
    }()
那当slef.arr = nil后,其他地方还要用就会崩溃,swift里要咋整?新手求指教
级别: 骑士
状态: 连续签到 - [2天]
UID: 455440
精华: 0
发帖: 290
可可豆: 1051 CB
威望: 1018 点
在线时间: 247(时)
注册时间: 2015-03-29
最后登录: 2018-05-25
1 楼:  发表于: 2018-04-23 15:48    发自: Web Page
这种方式创建的对象不能置nil
==========================这是我的github:=============  https://github.com/manofit  =========,没事做时候喜欢整一些东西,欢迎大家光临。================================
级别: 新手上路
状态: 连续签到 - [9天]
UID: 122739
精华: 0
发帖: 44
可可豆: 181 CB
威望: 142 点
在线时间: 168(时)
注册时间: 2012-02-09
最后登录: 2018-05-21
2 楼:  发表于: 2018-05-07 11:13    发自: Web Page
当然不能设置为nil了  

非要这样可以这么写

    var _valueA : Array?
    
    var valueA : Array {
        get {
            if _valueA == nil {
                _valueA = Array()
            }
            return _valueA!
        }
        set {
            _valueA = newValue
        }
    }
级别: 新手上路
状态: 连续签到 - [1天]
UID: 608808
精华: 0
发帖: 47
可可豆: 63 CB
威望: 58 点
在线时间: 126(时)
注册时间: 2017-03-18
最后登录: 2018-05-25
3 楼:  发表于: 2018-05-17 14:18    发自: Web Page
swift写成这样也是没谁了
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部