UIManagedDocument initWithURL因NSArray错误而崩溃

时间:2013-08-09 03:26:27

标签: ios objective-c xcode

我完全陷入困境。这段代码:

 NSFileManager *fileManager=[NSFileManager defaultManager];
    NSURL *documentURL=[fileManager URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];
    documentURL = [documentURL URLByAppendingPathComponent:@"TrackerDB"];
    self.document = [UIManagedDocument alloc];
    self.document = [self.document initWithFileURL:documentURL];

产生此错误: *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [__ NSArrayM insertObject:atIndex:]:object不能为nil'

(我把alloc和init分成了两行,所以我可以看到它在哪里吹。当我点击“踏入”时,它就是炸弹的initWithFileURL。)

顺便说一下,

self.document是@property (strong,nonatomic) UIManagedDocument *,URL是:

@ “的文件://localhost/Users/rick/Library/Application%20Support/iPhone%20Simulator/6.1/Applications/3FEA801E-9279-45A7-9606-853124A111C4/Documents/TrackerDB”

完全符合预期。所以,正如我所说,我很困惑。我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

由于你得到的错误与将nil指针传递给NSMutableArray方法有关,而你在这里没有使用数组,我想这个问题很可能不是你的代码。我也读过它并且找不到问题。这个问题最有可能发生在你的模拟器上,它可能会不时出现问题。重置设置并创建新构建是个好主意。该问题处理得很好here,并且在使用Core Data时与此相同的问题直接相关。