Я использую MVVM + ReactiveCocoa.
Мой код работает как положено.За исключением того, что ViewModel
объект остался в «Графике отладочной памяти», когда я удалил ViewController
из родительского объекта.ViewController
deinited, в отличие от ViewModel
.
Вот как выглядит действие кнопки в ViewModel
:
var changeStatus: Action<Book.Status, Void, NoError> {
return Action<Book.Status, Void, NoError> { status -> SignalProducer<Void, NoError> in
return SignalProducer<Void, NoError> { [weak self] observer, error in
if let strongSelf = self {
strongSelf.status.value = status
observer.sendCompleted()
}
}
}
}
Назначение действия кнопке в ViewController
:
* 1015Кнопка *
reading
также остается в памяти.
Когда я прокомментировал назначение действия кнопке ViewModel
, успешно отменено.Таким образом, я пришел к выводу, что это проблема.Возможно ли, что в этой строке хранятся надежные ссылки?
Уважаемое сообщество! Есть ли способ добавить действие кнопки с ReactiveCocoa, чтобы объект ViewModel
был удален вовремя?