[英]Can't reload TableView
我有2个控制器:第一个显示db中的所有记录,第二个允许添加新记录。 他们两个都与NavigationController连接。 如果我将添加新记录并按“返回”按钮,则第一个控制器将不会显示新数据(我想是因为NavigationController)。 因此,我尝试将tableView.reloadData()
放入viewDidAppear()
。 这不会有帮助。 然后,我尝试使用NSNotificationCenter( 此线程中的方法 )重新加载tableView,但是它仍然不显示新数据。 这是我的代码:
func saveRecord() {
//Creating cloud record
let container = CKContainer.defaultContainer()
let privateDatabase = container.privateCloudDatabase
privateDatabase.saveRecord(cloudRecord, completionHandler: { (record, error) -> Void in
if (error != nil) {
print(error)
}
NSOperationQueue.mainQueue().addOperationWithBlock({ () -> Void in
//creating core data record
do {
try managedContext.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
NSNotificationCenter.defaultCenter().postNotificationName("reloadHistoryController", object: nil)
})
})
}
override func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "reloadHistoryController:", name:"reloadHistoryController", object: nil)
}
func reloadHistoryController(notification: NSNotification){
self.tableView.reloadData()
}
更新资料
dispatch_async(dispatch_get_main_queue(),{
self.tableView.reloadData()
})
也没有帮助我。
请检查您的号码。 两次的行计数是相同的,即当您加载firstviewcontroller以及保存新记录并按back按钮后。 我认为保存数据的数组未使用添加的新数据初始化。 请尝试在viewWillAppear()方法中初始化数组数据,然后重新加载表视图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.