0

查看错误处理编程指南,我了解到在以下情况下,我绝不能评估 NSError 参数theError,除非返回值为 NO

BOOL success = [myDoc writeToURL:[self docURL] ofType:@"html" error:&theError];

当返回值不是成功的 BOOL 而是一个集合对象时,会发生什么情况?

以 [NSIncrementalStore 获得PermanentIDsForObjects:error] 为例。我不能使用error参数评估错误。我应该寻找什么?我想我可以收到一个 nil 指针或一个空数组。在这种情况下,空数组似乎不是一个好的响应,尽管在其他函数中空数组可能是一个好的响应。我可以读到,如果发生错误,错误对象将包含对所发生情况的描述,但我不太清楚如何才能发现错误确实发生了。

在此类情况下指示错误的正常 Cocoa 或 Foundation 方式是什么?

4

1 回答 1

1

对于该方法,您应该返回一个包含与传入的对象一样多的项目的数组。我会说,如果您不这样做(数组为 nil 或为空),那么您将处于错误情况,因为您违反了文档所说的将发生的情况:

包含数组中对象的对象 ID 的数组。

返回的数组必须以与对象在数组中出现的顺序相同的顺序返回对象 ID

于 2012-11-14T09:54:21.463 回答