小编Pee*_*wal的帖子

从Socket接收批量数据时,应用冻结。iOS | Socket.io | 领域快速

我正在开发一个聊天应用程序,每次可以收到许多消息,导致应用程序冻结。以下是我的套接字接收器:

func receiveNewDirectMessages() {
    self.socket?.on(EventListnerKeys.message.rawValue, callback: { (arrAckData, ack) in
        print_debug(arrAckData)
        guard let dictMsg = arrAckData.first as? JSONDictionary else { return }
        guard let data = dictMsg[ApiKey.data] as? JSONDictionary else { return }
        guard let chatData = data[ApiKey.data] as? JSONDictionary else { return }
        guard let messageId = chatData[ApiKey._id]  as? String , let chatId = chatData[ApiKey.chatId] as? String else { return }
        if MessageModel.getMessageModel(msgId: messageId) != nil { return }
        let isChatScreen = self.isChatScreen
        let localMsgId = "\(arc4random())\(Date().timeIntervalSince1970)"
        if let …
Run Code Online (Sandbox Code Playgroud)

sockets chat realm ios

6
推荐指数
1
解决办法
133
查看次数

从 com.apple.main-thread 入队(线程 1)崩溃 | iOS | 斯威夫特 4.1

显示崩溃的参考图像

上面发生了什么:

  1. 从接收到的用户数据数组初始化领域模型。
  2. 在后台线程的领域数据库中一次写入所有模型。
  3. 如果 Realm 模型已通过创建副本存在,则会对其进行更新。

任何人都可以在这里指导我关于我做错了什么。

multithreading realm grand-central-dispatch ios swift

5
推荐指数
1
解决办法
3424
查看次数