假定以下:在初始化程序中使用函数 - Swift?
class A {
let x : Int
init() {
self.x = assign(1)
}
func assign(y : Int) -> Int {
return y
}
}
这产生一个错误。
这是我的问题:有没有办法在类初始化程序中调用函数?
编辑:添加错误消息:都存储属性之前
使用方法调用分配'自我'的初始化
假定以下:在初始化程序中使用函数 - Swift?
class A {
let x : Int
init() {
self.x = assign(1)
}
func assign(y : Int) -> Int {
return y
}
}
这产生一个错误。
这是我的问题:有没有办法在类初始化程序中调用函数?
编辑:添加错误消息:都存储属性之前
使用方法调用分配'自我'的初始化
我认为这是不是最大的解决方案,但它仍然工作中。
class A {
var variable : Int
init() {
self.variable = A.assign(1)
}
private class func assign(y : Int) -> Int {
return y
}
}
它的工作原理,谢谢。出于好奇,为什么这个工作,而以前的方法没有? –
它是一个类函数,这种函数不需要初始化对象或@Sulthan你能深入解释一下吗 –
不能调用实例方法,直到实例初始化(前init
完成),但你可以使用使用class
或static
关键字定义模块级的功能和type methods。
func compute(y: Int) -> Int {
return y
}
class A {
let x: Int
static func assign(y: Int) -> Int {
return y
}
init() {
x = A.assign(3) + compute(4)
}
}
什么是您遇到的异常/错误?看看你得到的实际结果会有所帮助 – konkked
有多种解决方案,但真正的用例会有所帮助。 – Sulthan