我正在使用最新的SDK和Xcode 4.5.2开发iOS应用程序。部署目标是4.3。
我正在使用Core Data访问此实体:
我想过滤商店,但我不知道该怎么做(这是我的第一个核心数据项目)。
我知道我必须将NSFetchRequest
与NSPredicate
或NSExpression
一起使用。
我写这个if语句来向你展示我正在做的事情:
if ((shop.acceptRate >= filterCriteria.acceptRate) &&
(shop.categoryId == filterCriteria.shopCategoryId) &&
([shop.productsId indexOfObject:filterCriteria.productCategoryId] != NSNotFound) &&
([latestLocation distanceFromLocation:shop.shopLocation] <= (filterCriteria.distance * 1000)))
{
[ ... ]
}
如何使用NSFetchRequest
或NSPredicate
使用NSExpression
?
我认为是这样的:
NSPredicate* predicate =
[NSPredicate predicateWithFormat:@"acceptRate >= %@ AND categoryId = %@", filterCriteria.acceptRate, filterCriteria.shopCategoryId];
但我不知道如何在NSPredicate
上编写产品关系。
答案 0 :(得分:0)
根据您提供的信息,这样的事情应该有效:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"acceptRate >= %@ AND categoryId = %@ AND %@ IN products", filterCriteria.acceptRate, filterCriteria.shopCategoryId, filterCriteria.product];
其中filterCriteria.product
是类型为Product