是否可能,或者是否需要声明函数static
或class
?
class SimManager {
var particleSimulation: (inout Particle, Float) -> Void = updateParticles
func updateParticles(inout p: Particle, deltaT: Float) -> Void {
...
}
}
给出编译器错误:
SimManager.swift:36:63:无法转换'SimManager - >类型的值(inout Particle,deltaT:Float) - > Void'到指定类型'(inout Particle,Float) - >无效“
答案 0 :(得分:1)
将particleSimulation
的初始化移动到类的指定初始值设定项。
class SimManager {
var particleSimulation: ((inout Particle, Float) -> Void)!
func updateParticles(inout p: Particle, deltaT: Float) -> Void {
}
init() {
self.particleSimulation = updateParticles
}
}