NSPredicate调用的NSInvalidArgumentException

时间:2016-02-03 20:44:36

标签: swift nspredicate

所以我有以下代码,它给了我一个NSInvalidArgumentException。

let test = "AND ANY typeId = 25"
fetchRequest.predicate = NSPredicate(format: "latitude BETWEEN {%f,%f} AND longitude BETWEEN {%f,%f} %@", (latitude-0.10), (latitude+0.10), (longitude-0.10), (longitude+0.10), test)

但是,如果我删除了%@和test元素,那么调用就可以了。我在这里错过了什么? afaik,test是一个字符串,%@是我应该用来引用字符串对象的吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html

  

重要说明:仅使用%@格式说明符表示表达式。不要用它来表示整个谓词。   如果您尝试使用格式说明符来表示整个谓词,系统会引发异常。

你可以尝试

<div>