我一直在使用:
func isValidPassword(testStr2:String) -> Bool {
println("validate password: \(testStr2)")
let passwordRegEx = "[A-Z0-9a-z._%+-:/><#]{6,30}"
if let passwordTest = NSPredicate(format: "SELF MATCHES %@", passwordRegEx) {
return passwordTest.evaluateWithObject(testStr2)
}
return false
}
检查字符串是否包含相应的字符。但是自从swift 1.2更新后,我得到一个错误说&#34;条件绑定中的绑定值必须是可选类型&#34;
我尝试过添加问号。但我无法找到解决问题的方法。任何人都知道出了什么问题?
答案 0 :(得分:2)
extension NSPredicate {
convenience init(format predicateFormat: String, _ args: CVarArgType...)
}
在Swift 1.2中不再是一个可用的初始化程序,所以你不能 (并且不需要)使用可选绑定测试返回值:
let passwordTest = NSPredicate(format: "SELF MATCHES %@", passwordRegEx)
return passwordTest.evaluateWithObject(testStr2)