jjzjj

filteredArrayUsingPredicate

全部标签

objective-c - 使用 filteredArrayUsingPredicate 方法按属性过滤数组中的对象

我不明白如何使用谓词,我有一段很长的代码来按属性“类型”从数组中过滤对象,突然间我看到了可以让我的生活更美好的方法“filteredArrayUsingPredicate”。我尝试写谓词,但总是出错;谁能告诉我怎么写才好?我有方法-(void)filterData:(NSString*)filteredWord:我还有对象数组(事件):NSArray*eventsArray。我想使用filteredArrayUsingPredicate来获取包含对象(事件)的新数组,其中它们的属性(类型)等于filterWord。请注意,Event是CoreDataManaged子类。甚至可以用pre

objective-c - 搜索数组中对象的属性

我有一个NSArray对象,具有firstName、lastName、clientID等属性,我想根据搜索关键字对数组执行搜索。必须根据名字和姓氏属性检查此关键字,并返回原始数组的子集,该子集仅包含名字/姓氏包含搜索词的那些对象。有什么有效/快速的方法可以做到这一点吗? 最佳答案 再想一想,我认为-filteredArrayUsingPredicate:可能更适合您。NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"%K=%@",@"firstName",@"Bob"];

ios - 带位掩码的 NSPredicate 用于过滤 NSArray

我正在尝试使用NSPredicate测试某些特定Assets集合是否仅包含一种媒体类型/子类型。testForPhotosPredicate工作得很好,但是当尝试使用testForPanoramasPredicate时失败并显示消息:无法解析格式字符串“mediaSubtypes&%i”如何在此谓词中为mediaSubtypes使用位掩码?for(PHFetchResult*newFetchincollectionFetches){for(PHAssetCollection*subinnewFetch){PHFetchResult*assetsInCollection=[PHAsset

swift - filteredArrayUsingPredicate 在 swift 数组中不存在

我在数组中有“UserDetails”结构对象。我想从数组中过滤对象。但是Swift数组中没有“filteredArrayUsingPredicate”选项。我的数组创建vararrayOfUsers:UserDetails[]=UserDetails[]()我的用户详细信息代码是structUserDetails{varuserName:StringvaruserID:StringvaruserAge:StringfuncuserDescription()->String{return"name"+userName+"age"+userID}}我创建对象的代码forain1...10

ios - 如何找到 ARRAY 的索引位置,其中 NSPredicate 选取值。我使用 filteredArrayUsingPredicate 作为过滤器

这里是一个例子,根据当前时间过滤具有开始时间和结束时间的数组。这工作正常:问题:但在这里我想知道谓词选取值的collectionArr的索引位置。NSDate*currentDate=[NSDatedate];NSDateFormatter*_formatter=[[[NSDateFormatteralloc]init]autorelease];[_formattersetLocale:[NSLocalecurrentLocale]];[_formattersetDateFormat:@"yyyy-MM-ddhh:mma"];NSString*_date=[_formatterstri

ios - indexOfObjectsPassingTest 或 filteredArrayUsingPredicate 哪个性能更快?

当需要过滤NSArray以获取返回数组中项目的子集时,哪种方法更频繁且在边缘情况下更快? 最佳答案 以下测试(在Release模式下编译,在MacPro上执行)表明如果您使用filteredArrayUsingPredicate比indexesOfObjectsPassingTest慢一个“文本”谓词,但如果您使用基于block的谓词会更快。我测试中的fasted方法是一个简单的(快速枚举)循环,它添加了所有匹配项对象到可变数组。过滤包含10,000,000个字典的数组的结果,其中约50%与谓词匹配:8.514334(predica