ios - Swift:嵌套可选

标签 ios macos swift

我是一个相当缺乏经验的程序员(之前主要是做 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/

相关文章:

ios - 处理信用卡和IOS

objective-c - 如何将 NSButton 插入 NSTextView 中? (排队)

objective-c - 如何处理 cocoa 应用程序的图像输出

ios - UISwitch 由系统和用户开启和关闭

iphone - Cocos2D iPhone - 对象发送自动释放次数太多?

macos - Mac 更新后 Safari Web 检查器停止工作

swift - 在 macOS 中将 AppleScript 与 Apple Events 结合使用 - 脚本不起作用

ios - 根据swiftui中单击的切换按钮从数组中删除数据

swift - 如何始终将第一个单元格保持在第一个位置

ios - Swift XMLMapper 解码嵌套属性