gpt4 book ai didi

iphone - 内存警告后清除 NSMutableArray

转载 作者:行者123 更新时间:2023-12-01 18:33:04 26 4
gpt4 key购买 nike

我有一个程序将捕获的图像保存到 NSMutableArray 临时。通常这很好,但是如果我有一堆其他应用程序正在运行并且我捕获了一个图像,我会收到一个内存警告,当这种情况发生时,NSMutableArray 中的图像在我保存之前就会丢失。即使发生内存错误,有没有办法阻止 iOS 清除这个 NSMutableArray 直到我完成它?谢谢你。

最佳答案

如果您在 Controller -(void) loadView 上创建阵列,您将遇到问题。或 -(void) viewDidLoad方法。

在内存警告之后, Controller 可能会设置 view属性(property)给 nil ,这将导致方法 viewDidUnload你的 Controller 被调用。我想这对你来说到目前为止还不错。

问题是在 viewDidUnload 之后如果尝试访问 Controller view,则调用属性(例如通过在关闭模式后显示 View ,或通过弹出到 Controller ),loadViewviewDidLoad方法将被调用 再次并且,如果您在这两种方法中的任何一种中设置数组,您将丢失以前的数据,因为您将再次设置数组

编辑:

这对 iOS 5+ 无效,因为 viewDidUnload方法已被弃用,并且从未在 UIViewController 中调用生命周期

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instm/UIViewController/viewDidUnload

关于iphone - 内存警告后清除 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5985111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com