Swift 回放时自动重新加载TableViewController
我正在开发一个应用程序,它从一个tableViewController开始,加载并显示存储在Realm数据库中的数据。我有它,这样我就可以在单独的场景中在我的领域数据库中创建一个新条目,并且“保存”按钮“展开”会分段返回到初始的tableView 我现在有它,因此tableViewController将在下拉()时重新加载tableView,但如果tableView在展开时自动重新加载其自身,显示数据库中的所有数据,包括我的新条目,我会做得更好。有人能告诉我一个教程,教我如何做到这一点Swift 回放时自动重新加载TableViewController,swift,uitableview,ios8,realm,Swift,Uitableview,Ios8,Realm,我正在开发一个应用程序,它从一个tableViewController开始,加载并显示存储在Realm数据库中的数据。我有它,这样我就可以在单独的场景中在我的领域数据库中创建一个新条目,并且“保存”按钮“展开”会分段返回到初始的tableView 我现在有它,因此tableViewController将在下拉()时重新加载tableView,但如果tableView在展开时自动重新加载其自身,显示数据库中的所有数据,包括我的新条目,我会做得更好。有人能告诉我一个教程,教我如何做到这一点 附加信息
附加信息:我的应用程序嵌入在导航控制器中。保存按钮位于底部工具栏。尝试在
视图中重新加载表格数据将在初始(tableview)控制器中显示
override func viewWillAppear(animated: Bool) {
self.tableView.reloadData()
}
或者再次调用从领域加载数据的函数,如
override func viewWillAppear(animated: Bool) {
getMyData() //or whatever your function name is
}
您可以为此使用NSNotification
首先,在您的tableViewController
中,将其添加到viewDidLoad
方法中:
override func viewDidLoad() {
super.viewDidLoad()
NSNotificationCenter.defaultCenter().addObserver(self, selector: "refreshTable:", name: "refresh", object: nil)
}
这将从类中调用一个方法:
func refreshTable(notification: NSNotification) {
println("Received Notification")
tableView.reloadData() //reload your tableview here
}
所以也添加这个方法
现在,在下一个视图控制器中,将新数据添加到数据库中,将此添加到您的unWindSegue
函数中:
NSNotificationCenter.defaultCenter().postNotificationName("refresh", object: nil, userInfo: nil)
希望它对您有所帮助如果您使用的是情节提要展开序列,请尝试使用
func unwindSegue(segue:UIStoryboardSegue) {
if segue.identifier == "identifier" {
getData()
self.tableView.reloaddata()
}
}
谢谢你的回复。这三个都很好。你可以接受任何答案:)