你的位置:首页 > 软件开发 > 操作系统 > Kotlin的属性委托:无上下文情况下Android的赋值(KAD 15)

Kotlin的属性委托:无上下文情况下Android的赋值(KAD 15)

发布时间:2017-03-12 00:00:30
作者:Antonio Leiva时间:Mar 9, 2017原文链接:https://antonioleiva.com/property-delegation-kotlin/ 如我们在前面文章中读到的,属性需要默认值,不能声明属性,而不给它们赋值。 由于你要存 ...

Kotlin的属性委托:无上下文情况下Android的赋值(KAD 15)

 

作者:Antonio Leiva

时间:Mar 9, 2017

原文链接:https://antonioleiva.com/property-delegation-kotlin/

 

Kotlin的属性委托:无上下文情况下Android的赋值(KAD 15)

 

如我们在前面文章中读到的,属性需要默认值,不能声明属性,而不给它们赋值。

 

 

由于你要存储视图到属性中,这就产生一个问题了。在对象创建期间,这赋值代码将被执行,而此时你不能访问这个内容。

 

 

那你有能做什么?

 

 

属性委托:委托属性值到另一个对象

 

 

 

属性委托将使用另一个对象,这个对象能够调用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 (#换成@)。

可能感兴趣文章

我的浏览记录