ReloadData不刷新列表

时间:2017-03-16 12:49:02

标签: swift uitableview reloaddata

使用重装数据刷新我的UITableView时遇到问题。

快速描述: 此类接收到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)) 
        })
    }
    // ........
}

提前致谢

2 个答案:

答案 0 :(得分:0)

我认为您尚未初始化self.handshakesArray。请通过

初始化
var self.handshakesArray = [objectType]()

答案 1 :(得分:0)

确保您在 viewDidLoad func中为 self.tableViewMain 设置数据源委托故事板。

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