将成员函数分配给Swift中的成员变量

时间:2016-03-03 01:29:26

标签: swift function functional-programming

是否可能,或者是否需要声明函数staticclass

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) - >无效“

1 个答案:

答案 0 :(得分:1)

particleSimulation的初始化移动到类的指定初始值设定项。

class SimManager {
  var particleSimulation: ((inout Particle, Float) -> Void)!

  func updateParticles(inout p: Particle, deltaT: Float) -> Void {
  }

  init() {
    self.particleSimulation = updateParticles
  }
}