2011-12-09 12 views
3

私はNSFileManagerのattributesOfItemAtPathを試しました。それはファイルでうまく動作しますが、フォルダではうまく動作しません。 Apple's documentationでは、ファイルやフォルダのいずれかで動作する必要があると主張しています。しかし、私がフォルダの上でこれを呼び出すと、私が得るのは無価値です。Cocoaでフォルダの作成日を取得する方法はありますか?

私が使用するコード:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

NSDictionary *folderAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:somePath error:nil]; 

NSLog(@"Creation date: %@", [dateFormatter stringFromDate:[folderAttributes objectForKey:NSFileCreationDate]]); 

出力は常に私にはnullです。私の "somePath"は次のような形式のNSStringです。

file://localhost/Users/username/... 

思考?ありがとう!

答えて

7

パスの場合は、URLを使用しないでください。パスを使用する:

 
/Users/username/dir 

また、エラーパラメータに慣れると、本当に役立ちます。

NSError *error = nil; 
NSDictionary *attr = [fm attributesOfItemAtPath:path error:&error]; 
if (error) 
    NSLog(@"%@", error) /* at least */ 

お手数ですが、なんらかの理由でそれを望まない場合は、パラメータがオブジェクトへのポインタであることに注意してください。nilの代わりにNULLを使用します。

+1

ありがとうございました!特にエラー部分! –

1

somePathは、まっすぐなPOSIXパスとしてフォーマットする必要があります - これは/ Users/username/...に設定してください。

関連する問題