1

我正在使用最新的 SDK 和 Xcode 4.5.2 开发一个 iOS 应用程序。部署目标是 4.3。

我正在使用 Core Data 来访问这个实体:

在此处输入图像描述

我想过滤商店,但我不知道该怎么做(这是我的第一个核心数据项目)。

我知道我必须使用NSFetchRequestaNSPredicate或 a NSExpression

我写这个 if 语句是为了向你展示我想要做什么:

if ((shop.acceptRate >= filterCriteria.acceptRate) &&
    (shop.categoryId == filterCriteria.shopCategoryId) &&
    ([shop.productsId indexOfObject:filterCriteria.productCategoryId] != NSNotFound) &&
    ([latestLocation distanceFromLocation:shop.shopLocation] <= (filterCriteria.distance * 1000)))
{
    [ ... ]
}

我如何使用NSFetchRequestaNSPredicate或 a来做到这一点NSExpression

我认为是这样的:

NSPredicate* predicate =
   [NSPredicate predicateWithFormat:@"acceptRate >= %@ AND categoryId = %@", filterCriteria.acceptRate, filterCriteria.shopCategoryId];

但我不知道如何在NSPredicate.

4

1 回答 1

0

根据您提供的信息,这样的事情应该有效:

NSPredicate* predicate = [NSPredicate predicateWithFormat:@"acceptRate >= %@ AND categoryId = %@ AND %@ IN products", filterCriteria.acceptRate, filterCriteria.shopCategoryId, filterCriteria.product];

filterCriteria.product类型的 NSManagedObject 实例在哪里Product

于 2013-01-25T18:34:15.770 回答