我是一个相当缺乏经验的程序员(之前主要是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,但我还没有获得此协议业务......将继续关注斯坦福CS193P视频...
我显然不理解一些相当基本的东西 - 有人可以开导我吗?
非常感谢。
答案 0 :(得分:1)
var theNewInstance = exampleClass?()
正在创建一个初始值为nil的可选项。它与var theNewInstance : exampleClass? = nil
基本相同。
在设置内部属性之前,您需要实际创建一个非零实例:
theNewInstance = exampleClass()
或者,如果您只是在声明它的时候进行初始化,那么就不要让它成为可选项。