swift使用谓词

Sto*_*Tia 2 predicate swift

request.predicate=NSPredicate( format:"lnameID= \(light.valueForKey("lnameID"))",nil);
Run Code Online (Sandbox Code Playgroud)

Swift中使用request.predicate时,它出错了.

如何以"xx"xx"xx"格式解决问题?

Mar*_*n R 5

构建谓词时不应使用字符串插值.只要值中有任何特殊字符(如单引号或双引号),这将在运行时产生错误结果或崩溃.

更好地使用%@占位符,例如:

let lnameID = light.valueForKey("lnameID") as String // assuming that it is a string
request.predicate = NSPredicate(format: "lnameID = %@", lnameID)
Run Code Online (Sandbox Code Playgroud)