Swift:如何将闭包参数从类方法传递给类中的函数

塔诺斯

我在应用程序中定义了此类,以处理对后端的请求

class BackendService {      
    // Retrieves user chat channels
    class func getChatChannels(success:(response: Response)->(), failure: (response:Response)->()) {        
        let chatsURL = baseURL + "/chats"
        performRequestWith(success, failure: failure, url: chatsURL, parameters: nil)
    }

    func performRequestWith(success:(response: Response)->(), failure: (response: Response) -> (), url: String, parameters: String?) {
        var manager = Alamofire.Manager.sharedInstance

        let keychain = Keychain(service:"com.domain.app")
        let token = keychain.get("token")

        if let token = token {            
            manager.session.configuration.HTTPAdditionalHeaders = ["Authorization": "Bearer \(token)"]

            manager.request(.GET, url, parameters:nil).responseJSON { (req, res, json, err) in

                if(err != nil) {                    
                    var response = Response()
                    response.error = err
                    failure(response: response)                    
                } else {                    
                    var response = Response()

                    if let httpStatus = HTTPStatus(rawValue: res!.statusCode) {
                        response.httpStatus = httpStatus
                    }

                    response.payload = JSON(json!)
                    success(response: response)
                }
            }            
        }
    } 
}

我试图将getChatChannels接收到的回调/关闭参数传递performRequestWithperformRequestWith(success, failure: failure, url: chatsURL, parameters: nil)我得到Extra argument 'failure' in call

我对Swift的经验很少,在这里显然做错了什么。一些帮助将不胜感激。

Midhun MP

您的方法调用代码没有问题。问题是您正在从类方法中调用实例方法。

您都应该将这两种方法都更改为类方法,例如:

class func getChatChannels(success:(response: Response)->(), failure: (response:Response)->())
{        
    let chatsURL = baseURL + "/chats"
    performRequestWith(success, failure: failure, url: chatsURL, parameters: nil)
}

class func performRequestWith(success:(response: Response)->(), failure: (response: Response) -> (), url: String, parameters: String?)
{
    // Your code
}

或将两者都更改为实例方法,例如:

func getChatChannels(success:(response: Response)->(), failure: (response:Response)->())
{        
    let chatsURL = baseURL + "/chats"
    performRequestWith(success, failure: failure, url: chatsURL, parameters: nil)
}

func performRequestWith(success:(response: Response)->(), failure: (response: Response) -> (), url: String, parameters: String?)
{
    // Your code
}

另一种选择是在类方法内创建该类的实例,并使用该实例方法进行调用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift:如何将闭包作为函数参数传递

来自分类Dev

如何将类作为参数传递给 Swift 中的函数?

来自分类Dev

Groovy:如何将闭包作为参数传递以执行类内的方法

来自分类Dev

将闭包捕获构造函数参数传递给基类构造函数

来自分类Dev

如何将参数传递给静态类构造函数?

来自分类Dev

如何将lambda传递给需要类参数的函数

来自分类Dev

将参数传递给函数闭包

来自分类Dev

如何将类作为可选参数传递给方法?

来自分类Dev

如何将参数传递给webapi中的数组类?

来自分类Dev

如何将参数传递给类中的__init__

来自分类Dev

如何将参数传递给类中的装饰器

来自分类Dev

如何将参数传递给 Django 中的表单类?

来自分类Dev

如何将子类的函数名称作为参数传递给python中的父类方法?

来自分类Dev

Python,如何将函数作为参数传递给类方法

来自分类Dev

如何将obj参数传递给Django Rest Framework中的Permission类函数?

来自分类Dev

如何将构造函数参数传递给 ECMAScript 6 中的导入类?

来自分类Dev

如何将参数传递给 javafx 中 fxml 控制器类的构造函数?

来自分类Dev

如何将类类型传递给kotlin中的函数?

来自分类Dev

如何将类道具传递给 reactjs 中的函数

来自分类Dev

将类方法传递给PHP中的闭包(类似于JS)

来自分类Dev

如何将参数传递给类,以便在构造函数中传递参数时,JFrame会移动?

来自分类Dev

Swift:将闭包作为类变量中的init参数

来自分类Dev

如何将类的对象传递给对象的类函数中的函数?

来自分类Dev

如何将$ this绑定到在PHP 5.4中作为方法参数传递的闭包?

来自分类Dev

如何将Swift类传递给需要类的Objective-C方法?

来自分类Dev

如何将Swift类传递给需要类的Objective-C方法?

来自分类Dev

在swift中将多个闭包作为参数传递给函数

来自分类Dev

Python MYSQL tupple问题。如何将参数传递给另一个类中执行查询的函数

来自分类Dev

Jenkins/Groovy:如何将命名参数和闭包传递给同一个方法?

Related 相关文章

  1. 1

    Swift:如何将闭包作为函数参数传递

  2. 2

    如何将类作为参数传递给 Swift 中的函数?

  3. 3

    Groovy:如何将闭包作为参数传递以执行类内的方法

  4. 4

    将闭包捕获构造函数参数传递给基类构造函数

  5. 5

    如何将参数传递给静态类构造函数?

  6. 6

    如何将lambda传递给需要类参数的函数

  7. 7

    将参数传递给函数闭包

  8. 8

    如何将类作为可选参数传递给方法?

  9. 9

    如何将参数传递给webapi中的数组类?

  10. 10

    如何将参数传递给类中的__init__

  11. 11

    如何将参数传递给类中的装饰器

  12. 12

    如何将参数传递给 Django 中的表单类?

  13. 13

    如何将子类的函数名称作为参数传递给python中的父类方法?

  14. 14

    Python,如何将函数作为参数传递给类方法

  15. 15

    如何将obj参数传递给Django Rest Framework中的Permission类函数?

  16. 16

    如何将构造函数参数传递给 ECMAScript 6 中的导入类?

  17. 17

    如何将参数传递给 javafx 中 fxml 控制器类的构造函数?

  18. 18

    如何将类类型传递给kotlin中的函数?

  19. 19

    如何将类道具传递给 reactjs 中的函数

  20. 20

    将类方法传递给PHP中的闭包(类似于JS)

  21. 21

    如何将参数传递给类,以便在构造函数中传递参数时,JFrame会移动?

  22. 22

    Swift:将闭包作为类变量中的init参数

  23. 23

    如何将类的对象传递给对象的类函数中的函数?

  24. 24

    如何将$ this绑定到在PHP 5.4中作为方法参数传递的闭包?

  25. 25

    如何将Swift类传递给需要类的Objective-C方法?

  26. 26

    如何将Swift类传递给需要类的Objective-C方法?

  27. 27

    在swift中将多个闭包作为参数传递给函数

  28. 28

    Python MYSQL tupple问题。如何将参数传递给另一个类中执行查询的函数

  29. 29

    Jenkins/Groovy:如何将命名参数和闭包传递给同一个方法?

热门标签

归档