[iOS笔记]Swift中的Optional类型 (可选类型)

[iOS笔记]Swift中的Optional类型 (可选类型),第1张

在Objective-C中并没有Optional类型, 只有nil,并且nil只能用于表示对象类型无值,

并不能用于基础类型(int, float),枚举和结构体,基础类型需要返回类似NSNotFound的特殊值来表示无值,

所以在Swift中定义了Optinal类型来表示各种类型的无值状态,并规定了nil不能用于非可选的常量和变量,只能用于Optinal类型

使用 if 语句和 nil 来判断一个Optional类型是否有值

使用optional binding来判断optional类型是否有值,并且如果有值就把值赋给一个常量或者临时变量。

optional binding可以用在 if 和 while 语句中:

当确定可选类型确实包含值之后,可以在可选的名字后面加一个感叹号( ! )来获取值;

当Option == nil时,使用 ! 来获取会导致运行时错误。所以使用 ! 来强制解析值之前,一定要确定Option类型不是nil的

有时候在编写程序中,一个optional类型第一次被赋值后,可以确定它以后总会有值,

在这种情况下,使用它时每次都还需要判断和解包optional类型是非常低效的,因为可以确定它总会有值,

所以Swift中定义了一个隐式解析可选类型,它在使用时可以自动解析,

把( String )改成感叹号( String! )就可以声明一个隐式解析可选类型。

但是需要注意:

左右效果只能用UINavigationController用的时候把这个UIViewController作为其根控制器如self的类名为A,已初始化对象为aUINavigationController naviVC=[[UINavigationController alloc] initWithRootViewController:a];然后在A里面:[selfnavigationController pushViewController:leftView animated:YES];

以上就是关于[iOS笔记]Swift中的Optional类型 (可选类型)全部的内容,包括:[iOS笔记]Swift中的Optional类型 (可选类型)、iOS 获得当前页面正在显示的页面是哪一个Viewcontroller、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9756494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存