在swift中调用dismissViewController之后如何调用reload table view?
我的问题几乎和这里find的一样: [self dismissModalViewControllerAnimated:YES]之后如何调用viewDidLoad;
我很确定答案正是我所需要的。 我有一个ViewController(我们称之为A)有一个任务列表。 当你点击A中的表格视图中的一个任务时,它会以模态方式调出另一个ViewController(B)。 当我完成B上的任务时,我想通过调用dismissViewController返回到A,但是如何重新加载表?
该表正在从REST API提供数据,所以我不认为只是删除该行将工作。 我将需要调用REST API来获取任务列表,然后重新加载表视图。
在Obj C中我不是很知道,所以我很难翻译这个。 这是我认为需要做的。
为B ViewController委托制作协议。 使ViewController成为BViewController的委托并填写该协议。
我的问题是B ViewController和B ViewController Delegate如何链接? 在B的ViewController有没有办法说这个动作发生了,所以A知道它呢?
有很多方法可以解决这个问题,但最简单的方法可能是在你的tableViewController中重写viewWillAppear
,并将reloadData
调用放在那里。
override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) tableView.reloadData() }
viewWillAppear
在每次viewController被显示在屏幕上时被调用,所以每当你回到你的tableViewController时,它将被调用并且你的对象将被重载。
你可以尝试的是
override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.tableView.reloadData() //or whatever your reload data function is }
- Swift:不能将types'Int16'的值转换为期望的参数types'AnyObject'?
- 使用Cocoapods 0.37,Swift框架无法findGoogleAnalytics-iOS-SDK的标头
- 迅捷的致命错误:数组索引超出范围
- 在单独的.swift文件中使用扩展名
- Alamofire 2.0和Swift 2 – Header不起作用。 看看如何解决它
- 设置为另一个UITextField的inputAccessoryView时,UITextField Height不会更改
- 在今天的扩展中创buildlogging时的更改和在应用中更新的logging在今天的扩展中是不可见的
- 为什么是UITextField.text可选?
- 显示UIPopOverPresentationController时崩溃