【发布时间】:2011-08-12 16:58:05
【问题描述】:
我一直在研究 Apple Low-Level File 部分中Using a Directory Enumerator 中的示例。
这是一个代码sn-p:
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 在对getResourceValue 方法的相关调用之前设置为nil?这只是过于谨慎还是需要这样做?
我为the docs阅读getResourceValue:forKey:error:似乎是多余的:
返回值 YES 如果值是 成功填充;否则,否。
讨论值设置为零,如果 请求的资源值不是 为 URL 定义。在这种情况下, 方法仍然返回 YES。
我错过了什么吗?
【问题讨论】:
标签: objective-c cocoa methods null