Chỉ cần cố gắng tìm ra phương pháp hay nhất: khi sử dụng phương pháp mất (NSError**)
, tốt hơn là gửi nó nil
hoặc NULL
?"lỗi: NULL" hoặc "lỗi: nil"?
Ví dụ,
NSArray *items = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
Trong tài liệu hướng dẫn nó nói "Bạn có thể chỉ định con số không cho tham số này nếu bạn không muốn những thông tin lỗi." Mặt khác, vì con trỏ kép của nó, NULL dường như cũng có ý nghĩa?
Chúng khác nhau về loại của chúng. Tất cả chúng đều bằng không, nhưng "NULL" là một void *, "nil" là một id, và "Nil" là một con trỏ Class. http://stackoverflow.com/questions/1564410/when-to-use-nil-and-null-in-objective-c – ARC
Yup; Cảm ơn các liên kết. Và đây là lý do tại sao, trong trường hợp này, nó phải là NULL, bởi vì nil/Nil không đại diện cho con trỏ tới con trỏ tới các kiểu; nó sẽ kết thúc là một cái gì đó như (void * id *) hoặc một số vô nghĩa như vậy cast. – bbum
Xin cảm ơn các bạn. Những gì tôi đang lo lắng là nếu 'NULL' bằng cách nào đó đã dereferenced trong phương pháp, nó sẽ không gây ra vấn đề? Theo bài đăng này [http://stackoverflow.com/questions/3581544/exception-codes-kern-protection-failure-at-0x00000000-error], 'nil' có vẻ là lựa chọn an toàn hơn? –