23
私はパスを含むNSStringを持っていますが、それはファイルかディレクトリのどちらかです。NSString内のパスがディレクトリかファイルかを判断しますか?
ココアには、Python os.path.isdir()
とos.path.isfile()
メソッドに相当するものがありますか?
私はパスを含むNSStringを持っていますが、それはファイルかディレクトリのどちらかです。NSString内のパスがディレクトリかファイルかを判断しますか?
ココアには、Python os.path.isdir()
とos.path.isfile()
メソッドに相当するものがありますか?
例えばNSFileManager Class Reference
[[NSFileManager defaultManager] fileExistsAtPath:pathname
isDirectory:&directoryFlag];
を参照してください:
NSString *file = @"/tmp/";
BOOL isDir = NO;
if([[NSFileManager defaultManager]
fileExistsAtPath:file isDirectory:&isDir] && isDir){
NSLog(@"Is directory");
}
HTWからのソリューションが動作しない場合は、この試してみてください。
NSString *file = @"/tmp/";
BOOL isDir
NSDirectoryEnumerator *dirEnum = [[NSFileManager defaultManager] enumeratorAtPath:file];
while ((file = [dirEnum nextObject])) {
[[NSFileManager defaultManager] fileExistsAtPath:file isDirectory:&isDir];
if(isDir){
NSLog(@"%@ is a directory", file);
}
}
が私のために動作しません、今の理由ではありません。 –
ここで重要なのは、メソッドのisDirectory:部分に渡すBOOLが、ファイルがフォルダであるかどうかを確認するための真のBOOLです。 fileExistsAtPath:isDirectory:から返されるBOOLは、ファイルがパスかどうかを確認するだけです。 – Will