草庐IT

NSPredicate

全部标签

ios - 使用核心数据 ios swift 在两个日期之间获取记录

我正在尝试快速搜索两个日期之间的记录。我正在存储日期,如下所示:letdate=NSDate()letdateFormatter=NSDateFormatter()dateFormatter.dateFormat="yyyy'-'MM'-'ddHH':'mm':'ss"println(date)//prints2015-09-2605:22:41+0000myreport.setValue(date,forKey:"date")下面是我使用NSPredicate获取两个日期之间的记录的代码:letdateFormatter=NSDateFormatter()dateFormatter.

swift - 过滤 Realm 对象以按属性仅获取一个(不同的)对象

首先让我解释一下,因为标题可能有点令人困惑。假设我有电影类型的Realm对象:Movie1(id:0,genre:"horror")Movie2(id:1,genre:"horror")Movie3(id:3,genre:"sci-fi")我需要做的是为每个流派获取第一个(在本例中为Movie1和Movie3)我想只使用realm+NSPredicate来完成它,所以性能更好,但我有点卡在那里...到目前为止我得到的是这个:Realm().objects(Movie.self).sorted(byKeyPath:id,ascending:true).value(forKeyPath:"

swift - 为 UISearchBar 设置的谓词更新 fetchedResultsController

重构为VanillaUIViewController而不是拥有UITableView在事件和非事件之间切换UISearchController,我重构为VanillaUIViewController用UISearchBar在顶部和一个UITableView就在它的正下方。我想做的是切换fetchedResultsController在具有由searchBar中的文本设置的谓词和抓取所有内容的谓词之间。我找到了这个答案,它描述了Objective-C中类似问题的解决方案,并作为我重构Swift项目的基础:如何使用UISearchDisplayController/UISearchBar过

swift - 在 Swift 2.2 中使用 Spotlight 列出 El Capitan 上已安装的应用程序

我目前正在构建一个mac应用程序,将来应该能够在OSX上终止和启动应用程序。为此,我需要找到一种方法来获取计算机上所有已安装应用程序的列表。我已经做了很多研究,并决定使用Spotlight和NSMetadataQuery来获取列表。我找到了thispost关于提到的主题,并开始在Swift2.2(项目的首选武器)中实现功能。通过一些翻译,我能够让它工作,代码现在可以成功构建和运行。然而,在运行时,我似乎遇到了查询本身的问题:isbeingdeallocatedwithoutfirstcalling-stopQuery.Toavoidraceconditions,youshouldfir

swift - NSCompoundPredicate 和 Cloudkit

我正在尝试使用Cloudkit对复合谓词执行此操作,但Xcode错误显示“意外的表达式”。有人知道我的代码有什么问题吗?感谢任何帮助!letuserRef=CKReference(recordID:userID,action:.None)letpredicateOne=NSPredicate(format:"recordIDIN%@ANDuser=%@",postIDs,userRef)//Ineedalluserpost'sthatmatchtheIDsinthearrayandwheretheuserIDmatchestheIdinthereferencefieldfortheus

ios - NSPredicate 在一些空的数组数组上

我正在尝试过滤包含Bird类型的核心数据实体的数组数组。实体已根据具有部分和行的UITableView拆分为数组的数组。要搜索我有以下基于这个问题的方法NSPredicateonarrayofarrays:funcfilterContentForSearchText(searchText:String){letresultPredicate=NSPredicate(format:"SELF[0].common_namecontains[cd]%@",searchText)self.filteredBirds=self.birds.filteredArrayUsingPredicate(

ios - CloudKit - NSPredicate 用于在引用列表中查找包含多个 CKReferences 的所有记录

我正在开发使用CloudKit的Joke应用每个笑话都有一些类别/标签的引用列表。我正在尝试查询所有具有特定标签的笑话。例如,我想找到属于Animal和Doctor类别的所有笑话。现在我尝试了以下代码lettagRecords=tags.map{CKReference(record:$0.record,action:.None)}letpredicate=NSPredicate(format:"tagsCONTAINS%@",tagRecords)letquery=CKQuery(recordType:"Jokes",predicate:predicate)基本上上面所做的是首先创建一

ios - 按对象数组过滤 searchController

我已经创建了一个searchController,因此我试图让它根据UISearchController中的文本过滤内容。我创建了一个如下所示的自定义对象。我试过使用NSPredicate,但不断得到:无法将NSPredicate类型的值转换为预期类型@noescape(组织)抛出...classOrganization:Object{varid:Int=0varname:String=""varshortName:String=""varimage:NSData=NSData()varpinImage:NSData=NSData()letlocations=List()}然后我的Vi

ios - 如何在 Swift 4.2 中使用 NSPredicate 仅从智能相册中获取图像资源?

我想从用户手机上的所有智能相册中获取图片资源。目前我正在获取图像和视频,但这不是我想要的。在我的研究中,我总是找到相同的解决方案,但它似乎不再有效,因为问题已经存在好几年了。所以我找不到任何最新的解决方案。这是我找到的解决方案letfetchOptions=PHFetchOptions()fetchOptions.predicate=NSPredicate(format:"mediaType=%d",PHAssetMediaType.image.rawValue)letsmartAlbums=PHAssetCollection.fetchAssetCollections(with:.s

IOS- swift : OrPredicate in CloudKit results in invalid

我有这个位来检索两个用户之间的所有消息:letuser1="john"letuser2="mark"letpredicateUser1To2=NSPredicate(format:"user1==%@",user1)letpredicateUser2From1=NSPredicate(format:"user2==%@",user2)letpredicateUser2To1=NSPredicate(format:"user2==%@",user1)letpredicateUser1From2=NSPredicate(format:"user1==%@",user2)letpredica