Swift 不使用枚举重写帮助程序
我已经创建了注册助手函数,但是由于我只有一种通过电子邮件注册的方法,所以没有理由使用枚举。没有枚举,我如何重写它Swift 不使用枚举重写帮助程序,swift,enums,Swift,Enums,我已经创建了注册助手函数,但是由于我只有一种通过电子邮件注册的方法,所以没有理由使用枚举。没有枚举,我如何重写它 protocol CreateUserDelegate { func CreateUser(signUpProvider: SignUpProvider,didSucceed user: SignUpUser) func CreateUser(signUpProvider: SignUpProvider,didError errorMessage: String)
protocol CreateUserDelegate {
func CreateUser(signUpProvider: SignUpProvider,didSucceed user: SignUpUser)
func CreateUser(signUpProvider: SignUpProvider,didError errorMessage: String)
}
struct SignUpUser {
let email: String
let password: String
func isValid() -> Bool {
return email != "" && password != ""
}
func isEmailValid() -> Bool {
let emailRegEx = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"
let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
return emailTest.evaluateWithObject(email)
}
}
enum SignUpProvider {
case None
case Email(SignUpUser)
func SignUp(delegate: CreateUserDelegate) {
switch self {
case let .Email(user) where user.isValid() && user.isEmailValid():
//createuser
break
default:
print("not mutch anything")
}
}
}
有点奇怪,你可以写这个,但不能将其更改为结构。是的,这可能很奇怪,但是写这段代码,我受到了很大的启发,所以这可能会回答你的问题,但希望你能帮助我。