【问题标题】:how to swizzle NSURLConnectionDataDelegate methods?如何调配 NSURLConnectionDataDelegate 方法?
【发布时间】:2016-08-11 09:21:53
【问题描述】:

是否可以混合 connection:didReceiveResponse:connection:willsendrequestforauthenticationchallenge: 委托方法。如果是,请建议我这样做的方法。我可以调配initwithrequest: 方法,但我不能调配委托方法。

注意:我可以使用 nsurlconnection 虽然它已被弃用。

【问题讨论】:

  • 我认为通常我们可以问如何调配委托方法? @Madhu 您是否找到任何解决方案或解决方法来实现这一目标?

标签: ios objective-c swizzling


【解决方案1】:

使用 NSURLProtocal 而不是 swizzling,参见教程:

https://www.raywenderlich.com/59982/nsurlprotocol-tutorial

【讨论】:

    【解决方案2】:

    您似乎将给定类的方法与要由委托类实现的协议的方法混为一谈。

    NSURLConnectionDelegate 是由您的代码实现的协议。那么,当您可以简单地更改您的代码时,您为什么要在您自己的代码中调配一个方法呢?

    connection:didReceiveResponse:connection:willSendRequestForAuthenticationChallenge 如果您指定实现它的类(而不是 NSURLConnectionDelegate,这只是一个没有实现的协议),则可以混搭。但话又说回来:你为什么要这样做?

    【讨论】:

    • @Code,例如我们有一个sdk,其中可以包含我们公司开发的许多应用程序。但问题是所有应用程序都已经开发并使用默认的 NSURLConnection 类,因此更容易在 NSURLConnection 级别中注入一些代码来实现这一点。注入可以在sdk级别添加。
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    相关资源
    最近更新 更多