Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 不使用枚举重写帮助程序_Swift_Enums - Fatal编程技术网

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")
        }
    }
}

有点奇怪,你可以写这个,但不能将其更改为结构。是的,这可能很奇怪,但是写这段代码,我受到了很大的启发,所以这可能会回答你的问题,但希望你能帮助我。