我的nib文件有很多UIViews(超过100个),而且我正在使用Code创建500多个UIViews。
仅供参考,应用程序是一种带有块的游戏板。
问题,随机应用程序在玩游戏时会在nib对象上崩溃。我无法进行测试用例。但我可以说应用程序仅在Nib对象(IBOutlet)上崩溃。
每次只通过nib的IBOutlet上的错误访问。
我尝试使用retain创建IBOutlet属性。也可以合成,但随机得到同样的问题。
请帮我管理笔尖对象。
确切的错误消息是:EXC_BAD_ACCESS
这是Stacktrace
libobjc.A.dylib 0x3995e5aa objc_msgSend + 9
1WWS 0x00064437 0x5a000 + 42039
2WWS 0x00063b5d 0x5a000 + 39773
3Foundation 0x37df7539 + 200
4Foundation 0x37deedb9 + 840
5Foundation 0x37e673db + 102
6libdispatch.dylib 0x370b211f + 10
7libdispatch.dylib 0x370b14b7 + 22
8libdispatch.dylib 0x370b61bd + 224
9CoreFoundation 0x34d57f3b + 1290
10CoreFoundation 0x34ccaebd CFRunLoopRunSpecific + 356
11CoreFoundation 0x34ccad49 CFRunLoopRunInMode + 104
12GraphicsServices 0x3261d2eb GSEventRunModal + 74
13UIKit 0x342a72f9 UIApplicationMain + 1120
14WWS 0x0005b09f 0x5a000 + 4255
答案 0 :(得分:0)
测试IBoutlet是否导致问题的一种方法是,断开所有IBoutlet视图。在视图didLoad方法中实例化它们并尝试运行您的应用程序。如果应用程序仍然崩溃,那么考虑它是内存问题。
如果app没有崩溃,则可能只是IBoutlet问题。
另一种方法是使用Instruments工具。