我正在尝试编写一个查询,当ID等于1时,该查询会得到一行(目前)。
NSPredicate *predicate = [NSPredicate predicateWithFormat:[apt[@"id"] isEqualToNumber:1]];
因此, id
(来自另一个数据库)等于1。现在,这是在抱怨各种各样的事情,但它说它需要是一个布尔。nspredicate是否需要布尔?
不确定我理解,还是有其他方法可以查询?我可以在移动服务中使用T-SQL用于iOS的SDK Azure?
格式的谓词期望一个字符串,您正在以bool发送。 [apt[@"id"] isEqualToNumber:1]
返回布尔。
以这种方式使用谓词(我在格式化谓词方面几乎没有经验,因此这实际上不适合您复制和粘贴)。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == 1"];
如果您要过滤的数组中的对象具有称为ID的属性。
我更好地理解的是有块的谓词。这也可能对您有用(我不确定您的数据结构,因此您必须修改以适应您的需求。
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) {
return [object[@"id"] isEqualToNumber:1]; // Return YES for each object you want in filteredArray.
}]