在我的 IOS 应用程序中,我有一个标记为 retain
当我的应用程序再次激活时,属性值已被释放。
我是否误解了属性和内存管理的工作原理,我该如何防范?
最佳答案
很明显,某些东西正在某处发送 release 或 dealloc 消息。 如果我是你,我会像这样创建一个深拷贝:
NSItem *ref = [[NSItem alloc] initWithData: x];
至于找出有问题的那个项目发生了什么,我建议你使用 NSZombie 作为一个环境变量来遍历调用堆栈以查看它在哪里被释放。
祝你好运!
关于IOS内存管理与应用前台/后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282759/