堆栈溢出社区。请不要把这个问题标记为重复,因为我已经看到了关于这个问题的所有其他帖子,并且已经通过了大多数著名的解决方案。
目前,我有一些允许用户向组发送消息的代码,还可以更改组缩略图和标题。但是,在用户执行上述任何操作时,我的代码都会崩溃。我正在将我的数据存储在防火墙中(数据正在成功上传)。这个问题是在我从斯威夫特3升级到斯威夫特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)
}这是我的文件

任何帮助都将不胜感激。请注意,我会添加一些代码,但我不知道错误发生在哪里。
发布于 2017-10-13 23:46:42
由于您不知道错误发生在哪里,所以最好在代码中放置几个断点,这样您就可以精确地发现崩溃。那么,当您知道错误发生的确切行时,修复错误就会容易得多。
我有同样的崩溃,它与UIVisualEffectView相关,特别是向其添加一个子视图,而不是将其添加到其.contentView中。
如果这也是您的情况,您可以找到更多的细节here。
祝你猎杀虫子好运。
https://stackoverflow.com/questions/46721186
复制相似问题