为什么我的 UINavigationController 会向 Zombie 发送消息?
我有一个奇怪的问题。
我有一个 UINavigationController ,里面有 UITableViewController 。
简而言之: UINavigationController + UITableViewController + 更改设备方向原因:
[CALayer release]: message sent to deallocated instance
问题:快速滚动表格并更改设备方向几次后,出现“[CALayer release]:消息发送到已释放实例”错误。
我通过“分配”对其进行调试,然后看到:
0 CALayer Malloc 1 UIKit [UIView _createLayerWithFrame:]
1 CALayer Zombie -1 QuartzCore CA::release_objects<X::List<void const*>*)
这是什么意思以及我应该做什么?
I have a weird problem.
I have a UINavigationController with UITableViewController inside.
In a nutshell: UINavigationController + UITableViewController + change device orientation causes:
[CALayer release]: message sent to deallocated instance
The problem: after fast scrolling table and changing device orientation a few times the "[CALayer release]: message sent to deallocated instance" error appears.
I debug it through "Allocations" and see:
0 CALayer Malloc 1 UIKit [UIView _createLayerWithFrame:]
1 CALayer Zombie -1 QuartzCore CA::release_objects<X::List<void const*>*)
What does it mean and what I supposed to do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您显然存在内存管理问题。
对您来说最好的选择是
分析您的代码
,您可以使用CMD+SHIFT+A
来完成。它将对您的代码进行静态分析,并用漂亮的蓝色箭头标记 clang 分析器 报告可能的内存问题。作为猜测,我敢打赌您在 viewDidAppear / viewDidDisappear 中遇到问题。
You clearly have a memory management issue.
The best bet for you would be to
Analyze your code
, which you can do withCMD+SHIFT+A
. It will run a static analysis of your code and mark with nice blue arrows the places where the clang analyser reports possible memory issues.As a guess, I'd wager that you have a problem in a viewDidAppear / viewDidDisappear.