首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSPredicate将转换后的CLPlacemark与另一个CLPlacemark进行比较

NSPredicate将转换后的CLPlacemark与另一个CLPlacemark进行比较
EN

Stack Overflow用户
提问于 2013-03-04 23:01:00
回答 1查看 516关注 0票数 1

我使用NSValueTransformerCLPlacemark保存在核心数据中。(因此它被保存为NSData)

但是,我需要根据另一个CLPlacemark对象过滤保存的对象。

我试过了,不起作用:

代码语言:javascript
复制
NSExpression *exprPath = [NSExpression expressionForKeyPath:@"placemark"];
NSExpression *exprKeyword = [NSExpression expressionForConstantValue:[NSKeyedArchiver archivedDataWithRootObject:placemark]];
NSPredicate *predicate = [NSComparisonPredicate predicateWithLeftExpression:exprPath rightExpression:exprKeyword modifier:NSDirectPredicateModifier type:NSEqualToPredicateOperatorType options:0];

那么还有其他的建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-03-05 00:08:29

核心数据支持==和!=针对二进制数据(和可转换属性)的搜索。请不要将NSKeyedArchiver用于您的地标。只需在谓词中使用它,如下所示:

代码语言:javascript
复制
[NSPredicate predicateWithFormat:@"placemark = %@", placemark]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15204498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档