当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用类中的函数初始化变量》经验,为你挑选了1个好方法。

我的课程类似于下面的课程.它是简化的,但它说明了我的问题.我想用"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'.

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



1> courteouselk..:

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

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

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有