swift func原型混乱

时间:2014-12-05 00:55:44

标签: swift

我得到了一个函数存根,如下所示:

public class UserStore {
    public func login(email:String, password:String, completion:(success:Bool, error:NSError)) {

    }

    public func forgotPassword(email:String, completion:(success:Bool, error:NSError)) {

    }

    public func register(user:User, completion:(success:Bool, error:NSError)) {

    }
}

我有点困惑 - 我怎么称呼这个?我试过这个:

var error : NSError?
var success : Bool = false
UserStore.login("bob", "password", (success, error!))

并且编译器告诉我:调用中的额外arg

和此:

UserStore.login("bob", "password", completion:(success, error!))

收益:呼叫中的额外arg

和此:

UserStore.login("bob", "password", completion:(&success, &error))

产生:调用中的额外arg 而这:

   let email = emailTextField.text
   let pw    = passwordTextField.text
   var error : NSError?
   var success : Bool = false
   var completion = (success, error )
   UserStore.login(email, pw, &completion)

产生:调用额外的arg。

我的排列和耐心耗尽 - 任何人都可以详细说明如何调用它吗?当你在它的时候,如何编辑存根以返回成功和失败(带有错误代码)?

谢谢!

:沸点:

1 个答案:

答案 0 :(得分:1)

这是因为你正在调用函数,就好像它们是类方法一样。

您需要创建一个UserStore实例,例如

var us = UserStore()
us.login("bob", password:"password", completion:(success, error!))