视图控制器的全局实例是不是应该由应用程序委托拥有
Posted
技术标签:
【中文标题】视图控制器的全局实例是不是应该由应用程序委托拥有【英文标题】:Should a global instace of a viewcontroller be owned by app delegate视图控制器的全局实例是否应该由应用程序委托拥有 【发布时间】:2013-10-22 12:18:57 【问题描述】:由于 ZBar 和 ios 7 的错误/问题,我们无法创建、销毁和重新创建用于扫描的视图控制器。所以我们需要保留一个永久的全局实例,以供多个不同的视图访问。
在当前解决方案中,扫描仪视图实例是应用程序委托的成员,并在应用程序启动时实例化。当需要显示时,[[UIApplication sharedApplication] delegate]
访问。
这是一个强制解决方案,但我仍然希望它尽可能下降。有没有更好的地方放置扫描仪视图控制器?
【问题讨论】:
【参考方案1】:为您的扫描创建一个单例类
【讨论】:
【参考方案2】:最好放在 .pch 文件中,
#define MY_APP_DELEGATE ((AppDelegate *)[UIApplication sharedApplication].delegate)
【讨论】:
这是一个让不正确的代码架构变得容易的肮脏技巧。以上是关于视图控制器的全局实例是不是应该由应用程序委托拥有的主要内容,如果未能解决你的问题,请参考以下文章
如何从应用程序委托、情节提要、iOS6 获取我的视图控制器的实例