2

有没有办法列出我在 iCloud(来自 Mac)中的所有文件(文档+数据)?我相信 NSMetadataQuery 对象可以帮助我,但是那里有示例代码吗?

谢谢 !

4

1 回答 1

6

这里有一些示例代码可以查询 iCloud 文件夹中的 txt 文件。如果要查找其他文件,只需替换谓词 ( NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey];)。

要列出所有文件,您可以简单地做,@"NOT %K.pathExtension = '.'"但我不确定这是否是最优雅的方法。欢迎提出建议。

查看这篇文章以获取上下文和完整的代码示例。这只是查找文件的方法。

-(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];

}
于 2011-10-27T09:58:15.227 回答