swift中的可选方式与objective-c中的nil指针不同



swift中的可选指针与目标c中的nil指针有何不同?

Swift可选值不是零值。它是一种枚举,其中一个大小写表示非值(类似于关系数据库中的NULL),另一个表示实际值。

写入if myOptional == nil ...只是检查optional是否设置为非值大小写的语法。

无值情况不是零的一个简单证明是,选项适用于所有类型,包括简单整数。

好吧,

在定义中:

Swift可选变量是一个枚举,它可以将nil作为值,其中目标变量是指针,nil表示的地方,它不指向哪里。

使用术语:

两者在某种意义上有点相似,

消息传递中两个变量的值都为零,任何方法都返回零

Swift中的可选链接类似于Objective-C中的消息传递nil,但以一种适用于任何类型的方式,并且可以检查成功或失败。

但在安全检查中,Swift optional是赢家

由于编译器已经为您做了许多类型检查,例如,非可选参数不能接受可选参数,因此您需要先检查它是否为零来打开它或当您强制转换任何变量时,它总是返回一个可选的,因此也是编译器级别的一个安全特性

最新更新