有没有办法列出我在iCloud中的所有文件(文件+数据)(来自Mac)? 我相信NSMetadataQuery对象可以帮助我,但是有没有示例代码?
谢谢!
答案 0 :(得分:6)
这里有一些示例代码,用于查询iCloud文件夹中的txt文件。如果要查找其他文件,请简单替换谓词(NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey];
)。
要列出所有文件,您只需执行@"NOT %K.pathExtension = '.'"
,但我不确定这是否是最优雅的方法。建议欢迎。
查看this post以获取上下文和完整代码示例。这是查找文件的方法。
-(void)loadDocument {
// (2) iCloud query: Looks if there are txt files in the cloud
NSMetadataQuery *query = [[NSMetadataQuery alloc] init];
_query = query;
//SCOPE
[query setSearchScopes:[NSArray arrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]];
//PREDICATE
NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey];
[query setPredicate:pred];
//FINISHED?
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:query];
[query startQuery];
}