我是一个相当缺乏经验的程序员(之前主要是做 AppleScript),正在学习 Swift - 所以请慢慢来!
我正在尝试设置一个在可选类实例中有一个可选实例变量的情况。如果我将实例变量设置为一个值,这会自动将类实例设置为非零值吗?我猜不会,因为我得到的是零...
这是一些精炼的示例代码:
class exampleClass
{
var optionalString: String?
}
var theNewInstance = exampleClass?()
theNewInstance?.optionalString = "dave"
let theTest1 = theNewInstance?.optionalString!
println ("theTest1 is: \(theTest1)") // Prints 'theTest1 is: nil'
我已经查看了 Swift Optional of Optional但我还没有了解这个协议(protocol)业务...将继续观看斯坦福 CS193P 视频...
我显然不理解一些相当基本的东西 - 任何人都可以启发我吗?
非常感谢。
最佳答案
var theNewInstance = exampleClass?()
正在创建一个初始值为 nil 的可选项。它本质上与 var theNewInstance : exampleClass? = 无
。
在设置内部属性之前,您需要实际创建它的一个非 nil 实例:
theNewInstance = exampleClass()
或者,如果您只是在声明它时初始化它,那么就不要将其设为可选。
关于ios - Swift:嵌套可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32337954/