Ios NSSearchPathForDirectoriesInDomains EXC_BAD_访问代码=2

Ios NSSearchPathForDirectoriesInDomains EXC_BAD_访问代码=2,ios,xcode,persistent-data,Ios,Xcode,Persistent Data,这是我第一次尝试持久数据。数据似乎已保存(因为它应该在视图打开时自动将数据加载到视图中)。现在,当我添加视图时,我获得了crash EXC_BAD_访问权限(代码=2,地址=0x7…) 下面是函数 - (NSString *) dataFilePath { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docum

这是我第一次尝试持久数据。数据似乎已保存(因为它应该在视图打开时自动将数据加载到视图中)。现在,当我添加视图时,我获得了crash EXC_BAD_访问权限(代码=2,地址=0x7…)

下面是函数

- (NSString *) dataFilePath
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

    return [documentsDirectory stringByAppendingPathComponent:@"data.archive"];
}
这是撞车的线路

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

有什么问题吗?

代码没有问题。如果这是一个问题,那就是它所处的环境。您发布了整个错误消息了吗?是的,只有错误的访问代码2,后面是内存地址。我创建了一个新项目,其中只包含保存/加载代码,并且工作正常。这意味着代码本身是好的,问题在于我的应用程序的其余部分是如何实现的。这根线实际上是死的。谢谢你的意见,我修正了。这是一个简单的范围问题。我在管理数据的类中调用了这段代码,而不是调用要创建的视图的类。所以问题解决了。我知道这是半解决的,只是注意到有迹象表明苹果有一些可能会干扰的后台任务:看起来系统调用需要在前台,或者“在init之后”,正如您所看到的。我想深入研究一下。