[英]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.