0

我有一个用户列表,每个用户都有

Users.accounts--->Accounts.measurements--->measurement.account

我想从测量“表”中提取所有测量值,其中measurement.account = 一个特定帐户,并且measurement.type(一个属性)是“风速”作为示例。

所以我:创建一个关于测量的获取请求我想创建一个谓词,说 type="wind speed" 和 account={NSAccount object}

我该怎么做呢?

测量类型很简单:

*predicate = [NSPredicate predicateWithFormat:@"measuretype = 'air speed'];

指定关系,我不知道:

myAccountObject *myAccount=[accountFromId:@"6785"];
*accountpredicate = [NSPredicate predicateWithFormat:@"account = ???",myAccount];
4

1 回答 1

0

在谓词中,%@是 var arg 替换对象值,所以

[NSPredicate predicateWithFormat:@"account = %@",myAccount]

可能是您正在寻找的。即使对于常量字符串,这也是可取的,因为它避免了嵌入引号或其他特殊字符的问题,否则必须引用。因此,您的组合谓词将是:

[NSPredicate predicateWithFormat:@"measuretype = %@ AND account = %@",
        @"air speed", myAccount]

有关详细信息,请参阅“谓词编程指南”中的“谓词格式字符串语法”。

于 2013-10-31T18:11:19.897 回答