0
分配成員函數的成員變量是否有可能,還是功能需要申報static
或class
?斯威夫特
class SimManager {
var particleSimulation: (inout Particle, Float) -> Void = updateParticles
func updateParticles(inout p: Particle, deltaT: Float) -> Void {
...
}
}
給人的編譯器錯誤:
SimManager.swift:36:63: Cannot convert value of type 'SimManager -> (inout Particle, deltaT: Float) -> Void' to specified type '(inout Particle, Float) -> Void'
感謝的作品。下面的醜也在init()中起作用,以避免需要將其聲明爲隱式展開的可選項: particleSimulation = updateParticles ' 這個函數每幀調用5000+次,所以非常關鍵。因爲它是'ImplicitlyUnwrappedOptional'類型的別名,所以可能會有一些開銷,但不確定。爲了避免動態調度開銷,我還聲明瞭函數final。 –