"错误:NULL"或"错误:无"?

Jos*_*Lin 7 null objective-c

只是想弄清楚什么是最佳实践:当使用方法时,(NSError**)发送它nil还是更好NULL

例如,

NSArray *items = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];

在文档中,它说"如果您不想要错误信息,可以为此参数指定nil".另一方面,由于它是一个双指针,NULL似乎也有意义吗?

bbu*_*bum 10

从技术上讲,这NULL是正确的答案,文档是错误的.

在实践中,重要的不是. 无论出于何种意图和目的NULL,nil都是一样的.

虽然这可能会改变并保持语言合规,但如果不打破吨和大量的东西,它就无法改变.

不过,请随意提交错误.

  • 他们的类型不同.它们都是零,但"NULL"是一个void*,"nil"是一个id,"Nil"是一个Class指针.http://stackoverflow.com/questions/1564410/when-to-use-nil-and-null-in-objective-c (4认同)