只是想弄清楚什么是最佳做法:当使用带(NSError**)
的方法时,发送它nil
或NULL
会更好吗?
例如,
NSArray *items = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
在文档中,它说“如果您不想要错误信息,可以为此参数指定nil”。另一方面,由于它是一个双指针,NULL似乎也有意义吗?
答案 0 :(得分:10)
从技术上讲,NULL
是正确答案,文档错误。
在实践中,重要的不是。出于所有意图和目的,NULL
和nil
是相同的。
虽然这可能会改变并保持语言合规,但如果不打破大量的东西,它就无法改变。
尽管如此,请随意提交错误。