什么是“?”要么 ”!”在SWIFT代码

问题描述:

功能前,我刚要迅速,而当我看到这样的代码什么是“?”要么 ”!”在SWIFT代码

self?.handleStart() 

john!.apartment 

从我的研究和理解,如果“?”操作(),

var apartment: Apartment? 

它表示值可能是“无”。但是那些在“。”(点)和功能前的操作员呢? , 或者 ”!” (不是运营商?)如上面的第一个例子?

+7

请阅读Swift文档 – Arc676

+3

这在swift中被称为optionals。阅读关于它在这里https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309 – iPrabu

+0

不幸的是,我找不到纠正重复的问题,否则我会关闭这一个。你在找什么叫做“可选链”。 – Sulthan

在排序它的性能的方法

的是,

一个选项和参数? =允许零(如果你在方法的参数传递参数比它希望值,因此它的参数类型?比它允许空/无对象)。

! =不允许null/nil(如果你传入方法参数参数,而不是参数类型!的值比它不允许null/nil对象,你必须传递非nil对象)。

就是这样。