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