我将UIAlertView
一个常规包装在内部NSObject
以允许完成处理程序块而不是委托模式。
问题是我分配了一个对象的本地实例,该实例在内部创建一个UIAlertView
并将其委托分配给对象本身。当显示警报并且用户点击按钮时,应用程序会崩溃,EXC_BAD_ACCESS
因为 ARC 已释放我的对象,而警报的委托就是该对象。
我该如何处理这种情况?我看到一个解决方案是 __block
使用完成块内的对象本身来限定局部变量,但这不起作用。
顺便说一句,如果我将“UIalertView”子类化而不是包装它,它可以工作,但文档说不建议使用警报子类化,所以我更愿意解决这个问题。