我使用NSValueTransformer将CLPlacemark保存在核心数据中。(因此它被保存为NSData)
但是,我需要根据另一个CLPlacemark对象过滤保存的对象。
我试过了,不起作用:
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];那么还有其他的建议吗?
发布于 2013-03-05 00:08:29
核心数据支持==和!=针对二进制数据(和可转换属性)的搜索。请不要将NSKeyedArchiver用于您的地标。只需在谓词中使用它,如下所示:
[NSPredicate predicateWithFormat:@"placemark = %@", placemark]https://stackoverflow.com/questions/15204498
复制相似问题