作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有下面的代码来检查字符串是否是有效的电子邮件。更新到 Swift 1.2 后,我现在看到错误:
Bound value in a conditional binding must be of Optional type
在线
if let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
我不确定应该如何消除此错误。有什么建议吗?
谢谢
func isValidEmail(testStr:String) -> Bool {
println("validate calendar: \(testStr)")
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
if let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx) {
return emailTest.evaluateWithObject(testStr)
}
return false
}
println("Email is: \(isValidEmail(email))")
最佳答案
将您的功能更改为:
func isValidEmail(testStr : String) -> Bool {
println("validate calendar: \(testStr)")
let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"
let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
if emailTest.evaluateWithObject(testStr) {
return true
}
return false
}
或者您也可以将其更改为:
var emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
var result = emailTest.evaluateWithObject(testStr)
return result
而且也应该工作。希望对您有所帮助。
关于macos - 条件绑定(bind)中的电子邮件验证绑定(bind)值必须是可选类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29595442/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!