每 4 秒调用一次方法,但同时不加载 tableview?

Calling a method after every 4 secs but tableview doesn't load meanwhile?

我已经检查了其他解决方案,但没有任何东西 works.I 需要每 4 秒后点击一次服务,所以我正在使用

var timer = NSTimer.scheduledTimerWithTimeInterval(4.0, target: self, selector: #selector(self.hitServiceUserChatMessageList), userInfo: nil, repeats: true)

在这个 HitServiceUserChatMessageList 中,我正在重新加载我的 tableView。我能够在每 4 秒后点击该服务,但 tableview 没有显示任何内容。它变成空白。

HitServiceUserChatMessageList 代码

func hitServiceUserChatMessageList()
{
    //Start loader
    spinner.startAnimation(nil)
    spinner.hidden=false

    //Hit service for login
    let userName = GatyServiceManager.getValueForKey(Constants.key_UserEmailName) as! String
    let sessionID = GatyServiceManager.getValueForKey(Constants.Key_SessionId) as! String
    let userId = GatyServiceManager.getValueForKey(Constants.Key_SelectedUserForChat) as! String

    GatyServiceManager.sharedInstance().hitServiceUserMessageForChat(userName, sessionId: sessionID, userId:userId)
    { (success, error) in
        if error == nil
        {
            self.spinner.stopAnimation(nil)
            self.spinner.hidden=true
            self.array_ChatMessages.removeAllObjects()
            self.array_ChatMessages = GatyServiceManager.sharedInstance().array_allChats

            self.tableViewChat.reloadData()
            self.tableViewChat.scrollRowToVisible(self.array_ChatMessages.count - 1)
        }
        else
        {
            GatyServiceManager.sharedInstance().showAlertWithMsg(Constants.MSG_InvalidLogin)
            self.spinner.stopAnimation(nil)
            self.spinner.hidden=true
            return
        }
    }
}

我得到了答案。实际上,我有两个数组 self.array_ChatMessages 和 GatyServiceManager.sharedInstance().array_allChats。

GatyServiceManager.sharedInstance().array_allChats 正在从服务器获取数据,然后将其分配给 self.array_ChatMessages。

有一次,我执行了以下两个命令,它从两个数组中删除了数据,因为它们都引用相同的内存位置。

self.array_ChatMessages.removeAllObjects()
        self.array_ChatMessages = GatyServiceManager.sharedInstance().array_allChats