Я строй пользовательского диалога для приложения, в котором я хотел бы использовать затворы, которые вызываются, когда пользователь нажимает на что-то, вроде как это:Deinit перед тем функция UITapGestureRecognizer называется
var modal = ModalDialog(title: "modal title", buttonClick: {() -> Void in
println("clicked")
})
modal.show()
Я сделал класс под названием ModalDialog, в котором у меня есть UITapGestureRecognizer вроде так:
var modalTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("buttonClickAction:"))
modalView.addGestureRecognizer(modalTap)
Моя проблема заключается в том, что из-за АРК, когда кран фактически признается и пытается вызвать buttonClickAction:
класс уже deinitialised и приложение сбои.
Как бы я хотел сохранить ARC от деинициализации модального до тех пор, пока я явно не скажу, что это так?
Это то, о чем я не знаю, как бы я это сделал, посмотрел в книге Apple, и это не имеет смысла для меня. ModalDialog вводится внутри класса контроллера представления, но как мне крепко ссылаться на него? –
Отредактирован ответ –