Hatayı kodlama alışkanlığımı bu şekilde ele aldım:NSError: Hata saptamak için nil kullanmak hata raporlamasını gerçekten kapatıyor mu?
NSError* error = nil;
NSDictionary *attribs = [[NSFileManager defaultManager] removeItemAtPath:fullPath error:&error];
if (error != nil) {
DLogErr(@"Unable to remove file: error %@, %@", error, [error userInfo]);
return;
}
Ama belgelere bakmak Yanlış yazıyormuş gibi görünüyor:
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error
Bir hata oluşursa, dönüş, sorunu açıklayan bir NSError nesnesini içerir. Hata bilgisi istemiyorsanız NULL geçirin.
Teknik olarak nil ile NULL arasında bir fark yoktur, bu yüzden bunu gerçekten kapatıyorum ve asla bir hata mesajı almayacağım anlamına gelir (yukarıdaki örnekte silme başarısız olsa bile)? Bunu kodlamanın daha iyi bir yolu var mı?
Teşekkürler.
nil' ve 'NULL' ve' Nil' 'arasındaki fark var IS. 'nil' örneğin nesne, 'Nil' sınıf nesnesi, 'NULL' başka bir şey içindir. 'Hata ', bellek adresi değil, nesne değil, mükemmel doğruluk için – Philip007