我有一个使用 ARC 并采用 NSError 指针的方法,我将它传递给如下contentsOfDirectoryAtPath:error:
方法NSFileManager
:
+ (NSArray *) getContentsOfCurrentDirectoryWithError: (NSError **)error
{
// code here
_contentsOfCurrentDirectory = [_fileManager contentsOfDirectoryAtPath: _documentDirectory error: error];
// more code here
}
我不确定这段代码是否正确,因为我不太习惯指针,因为被托管语言破坏了。但是,我最初的反应是这样做:
_contentsOfCurrentDirectory = [_fileManager contentsOfDirectoryAtPath: _documentDirectory error: &error];
不过,Xcode 对我大喊大叫,因为我这样做了。我对这可能如何工作的假设是该contentsOfDirectoryAtPath:error:
方法正在请求一个指针,并且由于我在我的getContentsOfCurrentDirectoryWithError:error:
方法中请求一个指针,所以我可以error
不使用取消引用运算符而通过。
我只是想确保我这样做是正确的,以避免以后出现麻烦,所以我所拥有的有问题吗?