swift - 快速引用全局变量中的另一个变量

标签 swift

我不明白为什么以下内容在 Swift 中不起作用:

class SomeClass {
    var foo = 1
    var bar = self.foo + 1
}

解决方法是什么?

最佳答案

它不起作用,因为您无法在该范围内使用 self 来定义属性的默认值。我相信这是因为在对象正确初始化之前你不能使用 self 。您可以改用显式初始化程序。

class SomeClass {
    var foo: Int
    var bar: Int

    init() {
        self.foo = 1
        self.bar = self.foo + 1
    }
}

但是,您可以访问静态成员。

class SomeClass {
    static let initialValue = 1
    var foo = initialValue
    var bar = initialValue + 1
}

关于swift - 快速引用全局变量中的另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31991799/

相关文章:

ios - 如何在解析数据库中执行连接

ios - 实现 tableView :heightForFooterInSection: 时,UITableView 的页脚未随表格一起滚动

swift - 我在哪里可以找到 SwiftUI 中的微调图标?

swift - 我可以在 deinit 中使用 didSet 吗?

Xcode : Multi-line description for function 中的 Swift 文档

swift - 使用符合协议(protocol)的 args 对象参数初始化新类实例

ios - 最大宽度的 sizeToFit

swift - Definespresentationcontext 导致搜索器下的内容转移?

swift - 如何使 NSAttributedString 可编码兼容?

swift - 从 XCUITest 中的 URLSession 获取输出