过滤搜索

时间:2018-03-31 21:55:02

标签: ios swift uiviewcontroller

我想制作一个搜索过滤器(在单独的屏幕上),我想如何为我的第二个viewcontroller传输数据。 有没有办法使用类似C ++的指针?当我的数组中的所有更改(在第二个视图中)在第一个视图中发生更改时,实际上我不需要复制数据,因为我使用了指针。如果我不能使用它,我怎样才能在第一次查看后更改我的数组?

3 个答案:

答案 0 :(得分:2)

这里有三种方式: -

如果必须将数据传递给上一个控制器,请使用自定义委派。

如果必须将数据传递给下一个控制器,则只需将数据分配给下一个视图控制器变量。

您可以通过将数据保存在Userdafults中来获取数据。

答案 1 :(得分:1)

不要使用指针,通过NotificationCenter传输数组。

答案 2 :(得分:1)

使用Delegation将数据传回上一课

来自头等舱,

class FirstClass: UIViewController, SecondClassDelegate {

@IBAction func goToSecondClass(_ sender: Any) {
    performSegue(withIdentifier: "SecondClassId", sender: nil)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destination = segue.destination as? SecondClass {
        destination.delegate = self
    }
}

func finishPassing(stringPassed: String) {
   print(stringPassed)
}

}

在第二课中,

protocol SecondClassDelegate {
    func finishPassing(string: String)
}

class SecondClass: UIViewController {
@IBAction func btnPassDataPressed(_ sender: Any) {
    var delegate: SecondClassDelegate?
    delegate?.finishPassing(string: "Data passed from Second Class")
  }
}