2012-05-04 7 views
0

私は個人的な目的のためにOS Xアプリケーションを作成しています。そこで、plistタイプのすべてのファイルを取得して検索したいところです。私は最初の仕事に苦労しています。あなたは正しい方向で私を指すか、オンラインチュートリアルを提供してください。ありがとう。plistタイプのファイルを取得する

+0

私は明確にしたいと思います。私は、グローバル検索を望むのではなく、特定のディレクトリの検索をしたい。 –

答えて

0
NSString *searchDirectory = ...; 
NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: searchDirectory 
                    error: NULL]; 
[files enumerateObjectsUsingBlock: ^(NSString *fileName, NSUInteger idx, BOOL *stop) { 
    if ([[fileName pathExtension] isEqualToString: @"plist"]) { 
     NSString *filePath = [searchDirectory stringByAppendingPathComponent: fileName]; 
     // Do something with the plist file 
    } 
}]; 
+1

パスの拡張子を確認しないで、UTIを確認してください。 ' - [NSWorkspace typeOfFile:error:]'の後にタイプとして '-type:conformsToType:'と "com.apple.property-list"を付けてください。 –

0

このようなものを試してみてください。また

NSError *error = nil; 
NSString *folder = <# your folder #>; 
NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folder error:&error]; 
if (error) { 
    <# deal with error #> 
} else { 
    NSString *path; 
    for (NSString *entry in contents) { 
     if ([entry hasSuffix:@"plist"]) { 
      path = [folder stringByAppendingPathComponent:entry]; 
      <# do something with file at path #> 
     } 
    } 
} 

発見ディレクトリ内容にNSFileManagerクラスリファレンスのセクションに関連する方法をご確認ください。

+0

'hasSuffix:'は 'someplist 'という名前のファイルに対して' true'を返すので、明示的にファイル拡張子をチェックする方がいいです。 – Costique

+0

plistファイルの場合は素晴らしいです。 – djromero

関連する問題