我得到了一个函数存根,如下所示:
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。
我的排列和耐心耗尽 - 任何人都可以详细说明如何调用它吗?当你在它的时候,如何编辑存根以返回成功和失败(带有错误代码)?
谢谢!
:沸点:
答案 0 :(得分:1)
这是因为你正在调用函数,就好像它们是类方法一样。
您需要创建一个UserStore
实例,例如
var us = UserStore()
us.login("bob", password:"password", completion:(success, error!))