swift optionals
swift中一个objective-c没有的概念就是optionals. optionals在作用上类似于objc中的nil pointer, 但更加安全。
Optional的基础用法class Animal {func name() -> String { return "animal" }}var a1: Animal?a1 = Animal()a1!.name() // animalvar a2: Animal?a2?.name() // nila2!.name() // runtime errorvar a3: Animal = nil // compiler errorvar a3: Animal = a2 // compiler erroroptional有两种状态,一种是nil, 一种是某个对象的值.
使用在类型名后加?的方式来创建一个optional.
optional可以像赋予对象,也可以赋予nil。
普通变量不可以赋nil, 也不可以赋optional。(均为 compiler error)
当需要取optional里面对象的值时,使用?或者...阅读全文
Optional的基础用法class Animal {func name() -> String { return "animal" }}var a1: Animal?a1 = Animal()a1!.name() // animalvar a2: Animal?a2?.name() // nila2!.name() // runtime errorvar a3: Animal = nil // compiler errorvar a3: Animal = a2 // compiler erroroptional有两种状态,一种是nil, 一种是某个对象的值.
使用在类型名后加?的方式来创建一个optional.
optional可以像赋予对象,也可以赋予nil。
普通变量不可以赋nil, 也不可以赋optional。(均为 compiler error)
当需要取optional里面对象的值时,使用?或者...阅读全文