gpt4 book ai didi

afnetworking-2 - AFHTTPRequestOperationManager 属性是否在共享客户端中?

转载 作者:行者123 更新时间:2023-12-01 01:03:04 24 4
gpt4 key购买 nike

我正在使用 AFNetworking对于我在我的应用程序中的所有连接。我创建了一个单独的“客户端”类来处理所有 AFNetworking代码和用途 AFHTTPRequestOperationManager .我感到困惑的是 AFHTTPRequestOperationManager对象应该是一个属性,还是应该在每次要求我的客户建立连接时重新创建一个?如果它是一个属性,我的客户端是否可以被异步调用多次,否则会导致问题,因为 AFHTTPRequestOperationManager 的相同实例可能会同时使用?

最佳答案

通常,您的单例“客户端”类将是 AFHTTPRequestOperationManager 的子类。 .它也可以是一个属性,但是您将无法覆盖方法。一些常见的重写方法是:

  • - HTTPRequestOperationWithRequest:success:failure: , 修改所有请求操作的构造方式(例如,如果您需要在每个请求中使用相同的 header )
  • – initWithBaseURL: , 将额外的自定义应用到操作管理器

  • 也就是说,属性可以根据您的需要正常工作。 (有关一些愉快的周末阅读,请参阅 Prefer composition over inheritance?。)

    最后:

    If it is a property, can my client be called many times asynchronously, or will that cause problems, since the same instance of AFHTTPRequestOperationManager will be used possibly at the same time?



    是的, AFHTTPRequestOperationManager被设计为线程安全的。你可以告诉它从不同的线程做一些事情。 (请注意,它的完成块总是在主线程上调用,因为 UI 工作通常在那里完成。)

    关于afnetworking-2 - AFHTTPRequestOperationManager 属性是否在共享客户端中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21351059/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com