- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 CoreData 获取了一些项目,并且我想使用 FilteredArrayUsingPredicate 进一步过滤这些结果,这给我带来了一些问题。
核心数据获取:
NSFetchRequest *request = [[NSFetchRequest alloc]init];
[request setEntity:[NSEntityDescription entityForName:@"Collection" inManagedObjectContext:aContext]];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"CategoryName==%@", aCategoryName];
[request setPredicate:pred];
NSError *error=nil;
NSArray *tempArray=[aContext executeFetchRequest:request error:&error];
[request release], request = nil;
NSLog(@"results: %@", tempArray);
这给了我这个结果:
results: (
"<Collection: 0x8eb1920> (entity: Collection; id: 0x8eb0aa0 <x-coredata://7C4A4A5D-691A-4F02-9450-D0D910B53903/Collection/p95> ; data: {\n CategoryID = 22832;\n CategoryName = \"2000 - NOURISON 2000\";\n IsDeleted = 0;\n ManufacturerID = 192;\n ModifiedOn = \"2012-03-08 09:00:46 +0000\";\n ParentCategoryID = 0;\n PhotoName = \"\";\n SortOrder = 0;\n})"
)
在本例中只有 1 个结果,但情况并非总是如此,因此我想过滤更多结果:
Collection *collection = [[tempArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ManufacturerID==%@", aManufacturerID]] lastObject];
NSLog(@"result: %@ " , collection);
这给了我这个结果:
result: (null)
不确定我在这里缺少什么,我正在为这个过滤数组谓词传递正确的ManufacturerID 192。
最佳答案
什么是ManufacturerID?
通过使用 %@
格式说明符,它很可能是 [NSNumber numberWithInt:192]
或者,如果您不想用 NSNumber
换行,您可以将谓词中的格式从 %@
更改为 %d
NSInteger aManufacturerID = 192;
Collection *collection = [[tempArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ManufacturerID==%d", aManufacturerID]] lastObject];
NSLog(@"result: %@ " , collection);
关于objective-c - FilteredArrayUsingPredicate 总是返回 nil NSArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9758241/
我的工作: NSPredicate *predicate = [NSPredicate predicateWithFormat: @"SELF.street contains[c] %@ OR
如何执行 NSArray filteredArrayUsingPredicate 谓词是一个方法?这就是这里的简单代码示例的样子? 我一直在尝试遍历谓词 doco,但有点困惑。我可以看到它是如何进行简
我正在使用 [NSArray FilteredArrayUsingPredicate] 来获取与 20,000 个对象的原始数组中的某些条件匹配的对象数组。是否可以限制此方法返回的结果数量以加快速度?
是否有可能在不重新调用数据库层的情况下过滤 NSFetchedResultsController 的结果,就像我使用带有“filteredArrayUsingPredicate”的 NSArray 一
我对“谓词”有一点疑问 我有 NSArray (datesArray) 组成: ( "2011-11-30", "2011-11-28", "2011-11-25" ) 和另一个 NSArray (l
我不明白如何使用谓词,我有一段很长的代码来按属性“类型”从数组中过滤对象,突然间我看到了可以让我的生活更美好的方法“filteredArrayUsingPredicate”。我尝试写谓词,但总是出错;
当需要过滤 NSArray 以获取返回数组中项目的子集时,哪种方法更频繁且在边缘情况下更快? 最佳答案 以下测试(在 Release 模式下编译,在 Mac Pro 上执行)表明如果您使用 filte
我在数组中有“UserDetails”结构对象。我想从数组中过滤对象。但是 Swift 数组中没有“filteredArrayUsingPredicate”选项。 我的数组创建 var arrayOf
我已经使用 CoreData 获取了一些项目,并且我想使用 FilteredArrayUsingPredicate 进一步过滤这些结果,这给我带来了一些问题。 核心数据获取: NSFetchReque
现在我在用 let array = (displayNames as NSArray).filteredArrayUsingPredicate(searchPredicate) displayName
我正在尝试使用 NSArray 的 filteredArrayUsingPredicate: 方法来过滤核心数据托管对象的数组。这是一个大纲: NSArray *array = self.fetche
这里是一个例子,根据当前时间过滤具有开始时间和结束时间的数组。这工作正常: 问题:但在这里我想知道谓词选取值的 collectionArr 的索引位置。 NSDate* currentDate = [
以下代码在带有 Xcode 6 的 iOS 8 上运行良好,但在 iOS 8 和 iOS 9 上使用 Xcode 7 编译时在调试中抛出 objec_exception_thrown。我正在为 iOS
我是一名优秀的程序员,十分优秀!