我有时将delegate
设置为self
,但有时,代理人将不会设置。是零。似乎有些内存管理问题。我想知道有什么解决方案可以解决此问题而不会导致任何内存泄漏吗?我将在此处复制代码和调试步骤。
func openConversationForPost(_ post: PostViewStructure, viewController: UIViewController) {
let dest = ChatViewController(service: service, conversationID: post.token!)
dest.delegate = self
viewController.navigationController?.pushViewController(dest, animated: true)
}
ps1。我知道我可以使用强大的功能,但是崩溃的风险很高。
ps2。奇怪的是,当我在设置委托的那一行上设置断点时没有问题;但是,如果我让程序正常运行,则委托为nil。
修改
func
ChatViewController
init(service: ServicesProtocol, conversationID: String) {
self.conversationID = conversationID
super.init(service: service)
defer { conversation = DataProvider().object(ChatConversation.self, key: conversationID) }
}