将数据传递给表视图控制器

时间:2015-05-07 14:48:25

标签: ios uitableview swift

我有一个视图控制器,我在这个视图控制器中有一个tableview。我正在从表视图控制器管理表。但是我需要从视图控制器向tableview控制器发送数据。我怎样才能做到这一点 ?

这是我的视图控制器:

[CustomAuthorize(Users="Admin")]
public class MyController : Controller
{
    ...

    [Authorize]
    public AllUsersAction()
    {

    }
}

这是我的表视图控制器:

class SettingsViewController: UIViewController {
...
}

故事板:

enter image description here

1 个答案:

答案 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添加标识符,如下所示: Push segue identifier in IB

编辑:最初稍微误解了这个问题,因为数据没有从SettingsTableViewController传递到settingsViewController,反之亦然。使用segues和prepareForSegue通常是将数据传递给另一个viewController的方法。

edit2:改变了在prepareForSegue函数中设置开关的方式。