Я привык кодировать обработку ошибок следующим образом:
NSError* error = nil;
NSDictionary *attribs = [[NSFileManager defaultManager] removeItemAtPath:fullPath error:&error];
if (error != nil) {
DLogErr(@"Unable to remove file: error %@, %@", error, [error userInfo]);
return;
}
Но, глядя на документацию, кажется, что я ошибся.:
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error
При возникновении ошибки по возвращении содержит объект NSError, описывающий проблему. Передайте NULL, если вам не нужна информация об ошибке.
Технически нет разницы между nil и NULL, значит ли это, что я на самом деле отключаю это и никогда не получу сообщение об ошибке (даже если удаление в приведенном выше примере не удалось)? Есть ли лучший способ закодировать это?
Спасибо.
nil
иNULL
, иNil
.nil
— это объект экземпляра,Nil
— объект класса,NULL
— любая другая вещь. Поскольку&error
— это адрес памяти, а не объект, используйтеNULL
- person Philip007   schedule 01.10.2012