将数据从View Controller传递给Class?

时间:2017-03-13 18:44:17

标签: ios model-view-controller

首先,我不是在视图控制器之间传递数据。我需要将数据从View Controller传递到另一个类。

情况喜欢这个:

我有一个View Controller,它有滑块,然后我有一个Camera类。我将相机定义为Scene Class,一旦我更改了滑块,就需要更改Scene类中相机的值。

VC:

class ViewController: {
    @IBAction func moveSlider(_ sender: NSSlider) {
     // here I want to pass the sender.value to the Camera class
    }
}

相机类:

class Camera {
    var cameraLocationX ; // I want this value updated once the the slider moved, however the camera instance is defined in the Scene
}

但是,VC中未定义此Camera类。所以我不能使用静态var方法...

class Scene {
    let camera = Camera()
    ..
    camera.cameraLocationX; // here it needs to be updated.
}

如何实现这一目标?我用Google搜索我似乎应该使用委托或通知,但有人可以给我一些指示吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

如果要更新类的属性,则可以从VC设置新值:

类ViewController:{

let camera = Camera()

@IBAction func moveSlider(_ sender: NSSlider) {
 // here I want to pass the sender.value to the Camera class
 camera.cameraLocationX = sender.value
}

}