Ios swift语言中的null/nil
我们如何用swift编程语言定义以下内容:Ios swift语言中的null/nil,ios,swift,Ios,Swift,我们如何用swift编程语言定义以下内容: 空的 零 零 [NSNull null] 换句话说,这些客观c术语的swift等价物是什么。 此外,我还想知道对于非目标c类型,如结构和枚举,是否存在任何特定的用例。提前谢谢 关于等价物: NULL在Swift中没有等效项 nil在Swift中也称为nil Nil在Swift中没有等效项 [NSNull null]可以在Swift中以NSNull()的形式访问 注:这些是我根据阅读和游戏做出的猜测。欢迎指正 但是Swift中的nil/NULL处
- 空的
- 零
- 零
- [NSNull null]
在Swift中没有等效项李>NULL
在Swift中也称为nil
nil
在Swift中没有等效项Nil
可以在Swift中以NSNull()的形式访问[NSNull null]
nil
表示“没有值”,但在其他意义上与Objective-C的nil
完全不同
它只能分配给可选变量。它同时适用于文本和结构(即,它适用于基于堆栈的项,而不仅仅是基于堆的项)
非可选变量不能被赋值nil
,即使它们是类(即它们位于堆上)
因此,它显然不是一个
NULL
指针,也不类似于一个指针。它共享名称,因为它用于相同的语义原因。Swift的nil
与Objective-C中的nil
不同。在Objective-C中,
nil
是指向不存在对象的指针。在Swift中,nil
不是指针,而是缺少某种类型的值。任何类型的选项都可以设置为nil
,而不仅仅是对象类型
在Swift中没有等效项NULL
在Swift中也称为nilnil
在Swift中没有等效项Nil
可以通过Swift作为[NSNull null]
NSNull()
UnsafePointer<Int8>.null()
UnsafePointer.null()
Swift中Null的概念恢复到可选枚举。枚举的定义如下
enum Optional<T> {
case Some(T)
case None
}
enum可选{
案例(T)
无案例
}
这意味着Swift中不能有未初始化的变量/常量。。如果您尝试这样做,您将得到一个编译器错误,说明变量/常量不能未初始化。您需要将其包装在可选枚举中
这是您在Swift中可以找到的唯一空概念,标记的问题是关于“可能缺少值”,而我对这些值的不同类型/变体感兴趣。相关,但不重复。您会发现它们是同一个。您如何声明缺少要检查的值?like==无目标-c@JuanPabloBoero见下文我的回答Obj-C中的“零指针”表示“与普通C一起使用”。由于Swift与C库兼容,下面@Rien的答案是我所知道的关于
NULL
等价物的最佳答案。
if !(myDATA is NSNull) {
// optional is NOT NULL, neither NIL nor NSNull
} else {
// null
}