Swift:在另一个ViewController

时间:2016-03-24 10:53:31

标签: ios swift viewcontroller

我有TableViewController来处理我的数据和sortFunction。我想要做的是在sortFunction中调用SortViewController,当点击按钮“完成”时,请返回我的TableViewController(现在应显示已排序的数据)

我的问题是:如何调用sortFunction()TableViewController中包含的SortViewController

这就是我所拥有的:

TableViewController:

func sortFunction(){
    self.data?.sortInPlace({ $0.clicks > $1.clicks })
    self.tableView.reloadData()
}

SortViewController:

单击特定排序按钮时:

@IBAction func sortBestClicks(sender: AnyObject) {
    // how to call the function from TableViewController here??
}

点击完成时:

@IBAction func doneButton(sender: AnyObject) {
    self.performSegueWithIdentifier("unwindToStart", sender: self)
}

1 个答案:

答案 0 :(得分:3)

在TableViewController viewDidLoad中添加

NSNotificationCenter.defaultCenter().addObserver(self, selector: "methodOfReceivedNotification", name:"NotificationIdentifier", object: nil)

并在TableViewController中添加一个方法,如

func methodOfReceivedNotification() {

    sortFunction()

}
SortViewController中的

调用方法
NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: nil)

希望这会对你有所帮助。

您也可以使用委托协议。