【问题标题】:NSURLConnection or NSObject which implements NSURLConnection - Subclass Concept with Objective-C实现 NSURLConnection 的 NSURLConnection 或 NSObject - Objective-C 的子类概念
【发布时间】:2014-11-26 05:10:12
【问题描述】:

只是思考并试图理解我应该如何在 Objective-C 中实现 NSURLConnection。 顺便一提;我想为一些记录/下载作业连接不同的服务器(!多个连接)。

我添加了一个新的基于 NSObject 的 Objective-C 类。然后我添加了我的属性 NSData、NSURLConnection 和所需的委托。东西很好用,连接,上传也下载。

对于每个单独的连接,我必须复制类或在一个类中实现一些逻辑以区分多个连接。

一般来说,子类 NSURLConnection 的首选方式是什么?使用 C++,我将创建 NSURLConnection 的子类,添加我的属性并重载构造/销毁?

概念问题:-(

谢谢!

【问题讨论】:

  • 在这里使用子类化方法有什么问题?
  • 在 NSObject 上构建新类感觉很脏。
  • 我的意思是子类NSURLConnection,就像你在问题接近尾声时所描述的那样。你的措辞表明,虽然你会在 C++ 中这样做,但你认为它不会在 ObjC 中工作。

标签: objective-c xcode subclass concept


【解决方案1】:

通常使用自动售货范例,其中某些类接受端点 URL 并生成要使用的 NSURLRequest 和 NSURLConnection。在您的实例中,您当前拥有的类可以作为一个很好的抽象,其中管理类将创建一个具有特定 URL 的实例,而您创建的类将处理特定的委托响应。

如果您不反对使用依赖项,另一个选择是使用 AFNetworking,它具有向您出售 NSURLConnections 包装在 NSOperations(或 NSURLSessionTasks)中的功能。如果您想要一些灵感,可以查看AFNetworking's AFHTTPRequestOperationManager class。本质上,管理器提供底层 AFHTTPRequestOperations,它们是 NSOperation 子类,采用 NSURLConnection 委托方法来异步处理连接。

【讨论】:

    猜你喜欢
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多