UIView - NSURLConnection不会调用委托

时间:2012-02-05 10:45:54

标签: ios uiview nsurlconnection

我正在使用Objective-C类(UIView)。在那个类中,我正在调用NSURLConnection(将NSURLConnectionDelegate添加到.h)当我启动连接时,没有任何反应。它没有调用它的方法。是否无法在NSURLConnection课程中拨打UIView或我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:1)

您应该在UIViewController中执行此操作。看看Apples文档:

  

UIView类在屏幕上定义了一个矩形区域,以及用于管理该区域内容的接口。在运行时,视图对象处理其区域中任何内容的呈现,并处理与该内容的任何交互。[...]

所以UIView不是做与服务器交互等事情的正确场所。

答案 1 :(得分:1)

首先,将<NSURLConnectionDelegate>添加到对象的接口声明是不够的,您应该将其明确设置为NSURLConnection的委托。

其次,UIView绝对是NSURLConnection代表的错误候选人,因为:

  • UIView是MVC的视图部分;
  • 视图可能会被卸载,除非您采取额外措施,例如将其保留在UIViewController

这使得UIViewController成为NSURLConnection代表的更好选择。