我的应用程序在使用各种错误消息(例如:
)进行大量测试时崩溃 Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle:
ImageIO: CGImageRead_mapData 'open' failed error = 24 (Too many open files)
在这个viewcontroller中,我正在测试我也加载了多个音频文件和图像。 该应用程序在正常情况下工作正常。我有什么东西我不见了?任何帮助,将不胜感激。 谢谢,
答案 0 :(得分:1)
因未捕获而终止应用 例外 'NSInternalInconsistencyException'
您应用中的某些内容会引发异常。您没有捕获该异常,因此它会向下渗透堆栈并最终命中默认的异常处理程序,从而终止应用程序。您可以通过捕获该异常并在它到达终止点之前处理它来解决问题。
原因:'无法在捆绑中加载NIB: ImageIO:CGImageRead_mapData'open' 失败错误= 24(打开太多 文件)
考虑到你所说的你正在做的事情,这种情况发生可能并不奇怪。因此,除了改进异常处理之外,您可能还希望限制一次打开的文件数。
答案 1 :(得分:1)
关闭文件句柄,这是一个有限的系统资源。正如Apple的编程指南中所描述的那样,当你完成这些资源时,你应该立即释放这些资源 ,并且应该设计软件来限制这些稀缺系统资源的使用。另请注意,您可能不是唯一使用这些资源的人!
你可能遇到的一个问题是 - 不要在dealloc方法中释放这些稀缺资源。当你期望或永远不能保证那些被调用。相反,明确释放这些资源。