2017-03-16 50 views
0

我在使用重裝數據刷新我的UITableView時遇到問題。ReloadData不刷新列表

作爲一個快速描述: 這個類收到NSNotification包含對象與數據需要添加到列表和設備必須震動一次,表明數據收到。設備本身振動,但列表沒有更新,所以沒有新的數據添加到列表中。收到通知時

代碼:

dispatch_async(dispatch_get_main_queue(), { 
       let object = notification.object as! Attendee 
       self.handshakesArray.append(object) 
       self.tableViewMain.reloadData() 
       AudioServicesPlayAlertSound(UInt32(kSystemSoundID_Vibrate)) 
      }) 

我不知道這是一個iOS的問題,或者我的實現是錯誤的。

編輯:

class Shakes: UITableViewController { 
    private var handshakesArray = [Attendee]() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    func executeTask(notification:NSNotification) { 
     dispatch_async(dispatch_get_main_queue(), { 
      let object = notification.object as! Attendee 
      self.handshakesArray.append(object) 
      self.tableViewMain.reloadData() 
      AudioServicesPlayAlertSound(UInt32(kSystemSoundID_Vibrate)) 
     }) 
    } 
    // ........ 
} 

在此先感謝

回答

0

我想你還沒有初始化self.handshakesArray。通過

var self.handshakesArray = [objectType]() 
+0

是我編輯我的問題 – Melchior

0

請初始化它確保您設置數據源併爲您viewDidLoad中 FUNC或故事板self.tableViewMain委託

self.tableViewMain.delegate = self self.tableViewMain.dataSource = self

+0

感謝建議@fahad汗,但仍然去相同的結果手機震動,但沒有更新 – Melchior

+0

你調試代碼,並檢查陣列計數更新,並檢查tableview委託功能被調用或不。 –

+0

是數組更新,但'cellForRowAtIndexPath'函數沒有被調用 – Melchior