可以说我有多个使用相同UIAlertView * alertView的View控制器类。 * alertView的委托设置为集中式委托。
我这样做是因为要使用.tag来基于它执行不同的操作。
问题是每次调用警报视图或将其关闭时,我该怎么做才能防止内存泄漏?
我不应该每次都释放吗?还是这是一个非常糟糕的主意?
谢谢。
最佳答案
可以从应用程序中的任何位置“显示” UIAlertView。我有一个应用程序,主UIViewController有一个计时器,每隔一个计时器就会弹出一个UIAlertView。当计时器关闭时,即使我显示的主视图是来自完全不同的UIViewController(因此是视图),也会将Alert置于最前面。
如果您真的想“主动地”从您的任何UIViewControllers中调出UIAlertView(让我们根据用户操作来说),那么我将做两件事之一。
1)使用在那里实现的UIAlertView设置我的Application Delegate Object,并使用访问器方法来调用(显示)Alert视图,从而也从那里释放它,或者
2)生成一个具有AlertView的单例对象!!!
无论哪种情况,您都可以在为这些布局之一编写的dealloc例程中,仅对UIAlertView进行一次取消分配,并在初始化对象时仅对其进行一次分配。