作者:Antonio Leiva时间:Mar 9, 2017原文链接:https://antonioleiva.com/property-delegation-kotlin/ 如我们在前面文章中读到的,属性需要默认值,不能声明属性,而不给它们赋值。 由于你要存 ...
作者:Antonio Leiva
时间:Mar 9, 2017
原文链接:https://antonioleiva.com/property-delegation-kotlin/
如我们在前面文章中读到的,属性需要默认值,不能声明属性,而不给它们赋值。
由于你要存储视图到属性中,这就产生一个问题了。在对象创建期间,这赋值代码将被执行,而此时你不能访问这个内容。
那你有能做什么?
属性委托:委托属性值到另一个对象
属性委托将使用另一个对象,这个对象能够调用get和set(如果使用了var)返回结果。
目前,我们还不能控制许多对象的创建,如Android框架,在许多情况下,这委托将挽救我们的生命。
我将向你展示三个例子,我认为它们在Android中非常有用。
设置视图到属性
对于这个例子,我们用委托有两个选项,且禁止用null(如果你能够避免它,有些事情不建议使用)。
这是我最喜欢的,因为它迫使你对于不可变的、不太安全的属性使用var。
用保留字lateinit,说明属性不能为空,但是我们仍然没有final价值:
1 lateinit var textView:TextView
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:Kotlin的属性委托:无上下文情况下Android的赋值(KAD 15)
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。