我遇到了,没遇到的...
------------------------------------------ 基础不牢 --------------------------------------------------
昨天写了一个loading动画,中间都是懒加载,结果一直是nil。
起初,我认为是我懒加载写错了,各种找问题和测试,然而我就苦逼了!
解决办法:
1.Google,靠谱多了。过程不想说--!
2.搜索之前隐约感觉到时Self和_两个之间出了问题;懒加载本身就是get方法,如果不调用get方法是不会运行到懒加载这代码块。
3.打印一下这个view(懒加载),_xx直接输出nil,不会进入代码块;换self.xx,加载成功....
证据如下:
知道问题所在,那就去找原因!走你!
搜索简书里面就有很多人提到了。总结归纳一下:
Self.test 和 “_test”调用是有区别的:
简单说就是Self是通过访问方法的引用,包括get和set方法。(此处来自http://www.jianshu.com/p/f33bc2c369cc )
_test是直接引用,不通过get和set方法。既然不走get和set方法,恰好你引用的时候用的_test,就GAME OVER! 不会调用懒加载,这就重现了我的问题!技能+1
换一个说法就是self.test是调用_test的get和set方法,而_test直接访问变量,没有调用get和set方法!
这里又引出一个问题:点语法是否真的了解?
完结!!!我去Google看看大神的回答
网友评论