堆栈溢出社区。请不要将此问题标记为重复,因为我已经看到了有关此问题的所有其他帖子,并且已经完成了大部分着名的解决方案。
目前,我有一些代码允许用户向组发送消息,还可以更改组缩略图和标题。但是,当用户执行任何此操作时,我的代码崩溃了。我将我的数据存储在firebase中(数据已成功上传)。当我从swift 3升级到swift 4时,问题就出现了。另外,这是我得到的具体错误:
libc++abi.dylib: terminating with uncaught exception of type NSException
以下是我尝试解决问题的一些解决方案/方法:
以下是我用来更新集合视图的代码:
func observeConversationMessagesWithConversationId(conversationId: String) {
Database.database().reference().child("conversation-messages").child(conversationId).observe(.childAdded, with: { (snapshot) in
if let messages = ConversationMessages(snapshot: snapshot) {
self.conversationMessages.append(messages)
DispatchQueue.main.async(execute: {
self.collectionView?.reloadData()
let indexPath = NSIndexPath(item: self.conversationMessages.count - 1, section: 0)
self.collectionView?.scrollToItem(at: indexPath as IndexPath, at: .bottom, animated: true)
})
}
}, withCancel: nil)
}
这是我的podfile
任何帮助将不胜感激。请注意,我会添加一些代码,但我不知道错误发生的地方。
答案 0 :(得分:0)
由于您不知道错误发生的位置,因此在代码中放置一些断点可能是个好主意,这样您就可以查明崩溃。然后,当您知道错误发生的确切行时,修复错误会更容易。
我遇到了同样的崩溃,它与UIVisualEffectView
有关,特别是为其添加了一个子视图,而不是将其添加到.contentView
。
如果是这种情况,您可以找到更多详细信息 here 。
祝你好运狩猎。