注册 登录
主题 : swift懒加载问题,新手求指教
级别: 新手上路
UID: 562472
精华: 0
发帖: 32
可可豆: 95 CB
威望: 95 点
在线时间: 157(时)
注册时间: 2016-05-11
最后登录: 2018-06-06
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
发帖: 304
可可豆: 1092 CB
威望: 1059 点
在线时间: 271(时)
注册时间: 2015-03-29
最后登录: 2018-12-10
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-06-07
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
        }
    }
级别: 侠客
状态: 连续签到 - [19天]
UID: 608808
精华: 0
发帖: 87
可可豆: 210 CB
威望: 173 点
在线时间: 193(时)
注册时间: 2017-03-18
最后登录: 2019-01-23
3 楼:  发表于: 2018-05-17 14:18    发自: Web Page
swift写成这样也是没谁了
级别: 新手上路
UID: 562472
精华: 0
发帖: 32
可可豆: 95 CB
威望: 95 点
在线时间: 157(时)
注册时间: 2016-05-11
最后登录: 2018-06-06
4 楼:  发表于: 2018-06-05 11:40    发自: Web Page
回 2楼(qq139391025) 的帖子
有道理啊
级别: 新手上路
UID: 562472
精华: 0
发帖: 32
可可豆: 95 CB
威望: 95 点
在线时间: 157(时)
注册时间: 2016-05-11
最后登录: 2018-06-06
5 楼:  发表于: 2018-06-05 11:40    发自: Web Page
回 3楼(God_Love) 的帖子
是说我吗?
级别: 版主

状态: 连续签到 - [669天]
UID: 533249
精华: 0
发帖: 810
可可豆: 4190 CB
威望: 2791 点
在线时间: 575(时)
注册时间: 2015-12-22
最后登录: 2019-01-24
6 楼:  发表于: 2018-06-06 09:16    发自: Web Page
回 2楼(qq139391025) 的帖子
2楼的解决方法是正解 可以参考
https://github.com/YTiOSer
https://www.jianshu.com/u/562ebc94345f

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

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

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

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