我一直在努力通過Apple低級文件部分中的Using a Directory Enumerator中的示例。可可:爲什麼在方法調用之前設置'nil'?
下面的代碼片段:
for (NSURL *url in enumerator) {
// Error-checking is omitted for clarity.
NSNumber *isDirectory = nil;
[url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL];
if ([isDirectory boolValue]) {
NSString *localizedName = nil;
[url getResourceValue:&localizedName forKey:NSURLLocalizedNameKey error:NULL];
NSNumber *isPackage = nil;
[url getResourceValue:&isPackage forKey:NSURLIsPackageKey error:NULL];
if ([isPackage boolValue]) {
NSLog(@"Package at %@", localizedName);
}
else {
NSLog(@"Directory at %@", localizedName);
}
}
}
爲什麼localizedName
,isPackage
和isDirectory
被設置爲nil
之前,相關的呼叫到getResourceValue
方法?這只是過於謹慎或者這是必需的嗎?
由於我讀the docs爲getResourceValue:forKey:error:
這似乎是多餘的:
返回值是如果成功填充值 ;否則,否。如果 請求的資源值不 的網址定義
討論值設爲零。在這種情況下, 方法仍然返回YES。
我錯過了什麼嗎?
這裏沒有編譯器警告:'NSNumber * isDirectory,* isPackage; //其餘的代碼在那裏......'這對我的眼睛更容易... – dawg 2011-04-26 01:58:25