【发布时间】:2012-06-12 10:48:53
【问题描述】:
我正在开发一个应用程序,它会在每次出现视图“A”时更新 UI。我将相关代码放在ViewWillAppear 中,此更新将在应用程序的文档路径中加载一些图像。因此,我将在该部分中加载相关路径。一开始它运行良好,但如果我导航到另一个页面(使用navigationController 推送页面)并再次返回此页面几次,我会得到一个EXC_BAD_ACCESS。
代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); // EXC_BAD_ACCESS here
NSString* docPath = [paths objectAtIndex:0];
.....
如果我通过硬编码路径来临时更改代码,例如:
NSString* docPath = [NSString stringWithFormat:@"****/****/***/Documents"];
那么它就不会崩溃了。
我还尝试在ViewDidLoad 处加载文档路径并将值保存到属性为(nonatomic, retain) 的变量中。
在ViewWillAppear 中,我加载如下路径:
NSString* docPath = self.documentPath;
但它也会在这一行得到一个EXC_BAD_ACCESS。
在这行之前,我也试过打印self.documentPath,它会得到正确的路径字符串。
【问题讨论】:
-
我怀疑你在某处覆盖了内存。
-
那么问题是什么,Ecroo?