UIView - NSURLConnection не вызывает делегатов - PullRequest
1 голос
/ 05 февраля 2012

Я использую класс Objective-C (UIView).В этом классе я вызываю NSURLConnection (добавлен NSURLConnectionDelegate в .h) Когда я запускаю соединение, ничего не происходит.Это не вызывает его методы.Разве просто невозможно позвонить NSURLConnection в UIView классе или я что-то не так делаю?

Ответы [ 2 ]

1 голос
/ 05 февраля 2012

Прежде всего, недостаточно добавить <NSURLConnectionDelegate> к объявлению интерфейса вашего объекта, вы должны явно установить его как делегат NSURLConnection.

Во-вторых, UIView определенно невернокандидат в качестве делегата NSURLConnection, поскольку:

  • UIView является частью представления MVC;
  • представление может быть выгружено, если вы не примете дополнительные меры, такие как сохранение его вUIViewController.

Это делает UIViewController лучшим выбором в качестве NSURLConnection делегата.

1 голос
/ 05 февраля 2012

Вы должны сделать это в вашем UIViewController. Взгляните на документацию по яблокам

Класс UIView определяет прямоугольную область на экране и интерфейсы для управления контентом в этой области. Во время выполнения объект представления обрабатывает рендеринг любого контента в своей области, а также обрабатывает любые взаимодействия с этим контентом. […]

Так что UIView не является подходящим местом для таких вещей, как взаимодействие с сервером.

...