我在调用类本身中的实例方法时遇到问题。如果有人能给我提供一些见解,我将不胜感激。
我当前的代码如下:

class Rect
{
func printthis() -> String {
    return "this is working or what"
}

var toPrint:String = self.printthis()

}

我在xcode中得到的错误是:使用未解析的标识符“self”。
我错过了什么?

最佳答案

类的实例在所有变量都被赋值之前不会初始化,也不能被引用(即使是“self”)。
一个可能对您有用的选项是将您的变量声明为隐式展开的可选变量,默认情况下该变量被赋值为nil。然后在类的init方法中,由于所有变量都被赋值,因此可以开始在实例上调用方法。

class Rect {
    var toPrint: String!

    init() {
        toPrint = printthis()
    }

    printthis() -> String {
        return "this will work"
    }
}

10-08 16:26