我有一个iOS应用程序,它使用一个简单的UIDocument模型和一个内容字段用于iCloud存储.我检索文档列表以使用NSMetadataQuery填充UITableView.我希望在此表的顶部显示新文档,但默认排序似乎是旧的 – >新.
我知道如果我在文档中有自定义日期字段,我可以在该字段上使用NSSortDescriptor对查询进行排序,但我的问题是是否可以按照通过UIDocument iCloud存储创建的文件的内在修改日期进行排序?或者还有另一种首选方法吗?
解决方法
看起来正确的方法是在创建查询时设置查询的排序描述符.这些方面的东西:
NSMetadataQuery *query = [[NSMetadataQuery alloc] init]; [query setSearchScopes:[NSArray arrayWithObject: NSMetadataQueryUbiquitousDocumentsScope]]; nspredicate *pred = [nspredicate predicateWithFormat: @"%K ENDSWITH '.bin'",NSMetadataItemFSNameKey]; [query setPredicate:pred]; NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:NSMetadataItemFSContentChangeDateKey ascending:FALSE] autorelease]; //means recent first NSArray *sortDescriptors = [NSArray arrayWithObjects: sortDescriptor,nil]; [query setSortDescriptors:sortDescriptors]; [[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(queryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:query]; [query startQuery];
原文地址:https://www.jb51.cc/iOS/331840.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。