unwrapped与wrapped变量取值的问题

简介:

unwrapped与wrapped变量取值的问题

 

当我们在定义一个tableView时,是可以使用3种定义方式的,第一种就是定义成optional(AnyObject?)形式,第二种为non-optional形式(AnyObject 与 AnyObject!)。

 

optional方式的变量在使用时是需要解包的,如下所示:

因为view.addSubview中的对象只支持解包对象(func addSubview(view: UIView))所以在添加子view的时候,需要你解包对象。

 

 

non-optional方式的变量在使用时直接使用的对象,如下所示:

 

所以我们需要去除所有的解包操作:

 

 

小结:

虽然这些小小的语法特性并不那么令人在意,但在设计复杂的类结构时,对于枝末细节不甚清楚是无法完成设计需求的。

目录
相关文章
|
8天前
|
Python
布尔类型的值和类型
布尔类型的值和类型。
14 0
|
1月前
|
Java Spring
发现问题就解决,往往是低效的方式。关于对象参数的赋值取值问题
在审查中台task服务代码时,发现TaskVO对象的industryTypeName字段在某些方法调用中未进行空值检查,导致潜在bug。提出两种解决方案:一是在方法③中增加对industryTypeName的空值判断;二是改变方法③的参数类型,避免外部调用方直接设置industryTypeName,从而减少错误发生的可能性。
12 1
|
5月前
|
存储 Java 程序员
|
5月前
|
Java
java反射-属性赋值取值
java反射-属性赋值取值
|
6月前
浮点变量值为1.000000和1.0常量比较相等吗?
浮点变量值为1.000000和1.0常量比较相等吗?
40 0
|
6月前
|
存储
怎样存值以及取值
怎样存值以及取值
|
C语言 C++
不同类型的变量与零究竟是如何比较(1)
不同类型的变量与零究竟是如何比较
112 0
不同类型的变量与零究竟是如何比较(1)
|
存储 编译器
不同类型的变量与零究竟是如何比较(2)
不同类型的变量与零究竟是如何比较
129 0
不同类型的变量与零究竟是如何比较(2)
类型和值
类型和值
73 0
下一篇
无影云桌面