CFString发布,为什么只能在ipad上?

时间:2010-12-11 18:30:14

标签: objective-c memory-management instance cfstring


我有相同的项目,一开始,它也适用于ipad,但现在它仅适用于iphone设备,而不是ipad设备。这是一个iphone / ipad兼容的项目
可能我编辑的东西,但我不知道如何!

DEBUG ||中返回的错误ipad DEVICE上的RELEASE模式是经典之作:

*** -[CFString release]: message sent to deallocated instance 0x110500

...但是在iphone上,一切都好。
我无法调试,因为它只显示汇编代码,我不知道问题出在哪里......

这个问题出现了吗?这是我的问题还是ipad问题? 这些设备有什么不同?

谢谢,阿尔贝托。

2 个答案:

答案 0 :(得分:1)

您可能会链接iPhone上较旧版本的框架以及iPad上的较新版本。如果旧版本无意中泄漏了一个字符串,那么很可能是在更新版本的框架中修复了泄漏。

无论如何,它最终意味着你没有正确管理你的记忆。每当您看到“消息发送到解除分配的实例”时,就意味着您已经保留或过度释放了一个对象。搜索此网站以了解如何使用NSZombieEnabled(或仪器中的Zombies工具)。这些答案将为您提供有关如何追踪错误来源的最佳信息。 :)

答案 1 :(得分:0)

解决。
这是一个愚蠢的NSString release

现在已修复,但此问题仅在ipad上出现! :)不知道为什么!

感谢。