我已经检查了其他解决方案,但没有任何效果。我需要在每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
}
}
}
答案 0 :(得分:0)
我得到了答案。实际上,我有两个数组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