Я установил 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)
}
![Debug Console](https://i.stack.imgur.com/XM949.png)
пс1.Я знаю, что могу использовать сильные, но тогда будет высокий риск сбоя.
ps2.Странно то, что когда я устанавливаю разрыв прямо на строке, где устанавливается делегат, проблем нет;но, если я позволю процессу программирования работать нормально, делегат будет равен нулю.
Редактировать Инициализация func
из ChatViewController
init(service: ServicesProtocol, conversationID: String) {
self.conversationID = conversationID
super.init(service: service)
defer { conversation = DataProvider().object(ChatConversation.self, key: conversationID) }
}