swift - 使用类中的函数初始化变量

标签 swift class initialization

我有一个类似于下面的类。它被简化了,但它说明了我的问题。我想用函数“square”初始化“number”变量。

class SomeClass {
    let number: Int
    func square (num: Int) -> Int {
        return num * num
    }
    init(num: Int) {
        number = square(num)
    }
}

但是当我创建类的实例时。例如

let instance = SomeClass(num: 2)

它抛出错误:在初始化所有存储的属性之前,在方法调用“square”中使用“self”。

如何使用函数初始化数字?

最佳答案

在这种特殊情况下,您可以使用类方法:

class SomeClass {
    let number: Int
    class func square (num: Int) -> Int {
        return num * num
    }
    init(num: Int) {
        number = SomeClass.square(num)
    }
}

关于swift - 使用类中的函数初始化变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34138000/

相关文章:

ios - 如何使用 URLSession 从 url 获取 JSON 数据?

ios - 失败(POSIXErrorCode : Address already in use)

javascript - 一种清理 TypeScript 中类构造函数的方法?

c++ - VS2010 : fatal error LNK1120: 1 unresolved externals . 使用模板

swift - 我的主视图 Controller 是通过观察何时发布通知并被多次调用来加载的

c++ - 如何在 C++ 中初始化私有(private)静态成员?

C++ 构造行为

ios - Objective-C 类中无法访问 Swift 类?

ios - 如何从 Alamofire 返回值

reactjs - 将 React 类函数存储在单独的文件中