我有一个视图控制器,我在这个视图控制器中有一个tableview。我正在从表视图控制器管理表。但是我需要从视图控制器向tableview控制器发送数据。我怎样才能做到这一点 ?
这是我的视图控制器:
[CustomAuthorize(Users="Admin")]
public class MyController : Controller
{
...
[Authorize]
public AllUsersAction()
{
}
}
这是我的表视图控制器:
class SettingsViewController: UIViewController {
...
}
故事板:
答案 0 :(得分:1)
将action segues与prepareForSegue函数结合使用。本文描述:
Storyboards Tutorial in Swift: Part 2
为push segue添加一个标识符,打开SettingsTableViewController并将以下函数添加到ViewController。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "unwindToTableView" {
let destinationController = segue.destinationViewController as! SettingsTableViewController
destinationController.notificationsSwitch.setOn(true, animated:true)
}
}
假设你想将一些bool从settingsViewController传递给表,你会有类似的东西:
var notifications: Bool = false
在“接口”构建器中,向push segue添加标识符,如下所示:
编辑:最初稍微误解了这个问题,因为数据没有从SettingsTableViewController传递到settingsViewController,反之亦然。使用segues和prepareForSegue通常是将数据传递给另一个viewController的方法。
edit2:改变了在prepareForSegue函数中设置开关的方式。