Может кто-нибудь объяснить, как я мог бы использовать этот вызов функции, который включает делегата? - PullRequest
0 голосов
/ 13 февраля 2012

Это прототип:

- (void)startDownloadingDataOfType:(NSString *) type fromURL:(NSURL *) url  delegate:(id <GetURLAsyncDelegate>) delegate;

Существует делегат, настроенный с помощью таких методов, как URLDidFinishDownloading и так далее. Однако я до сих пор не совсем понимаю делегатов - я понимаю их точку зрения, но я действительно не знаю, как их использовать.

Эта функция, кажется, содержит параметр для передачи IN делегату, но, конечно, я хочу извлечь его?

В классе, где я хочу вызвать эту функцию, я, по сути, хочу иметь возможность вызывать метод, когда URL-адрес завершает его загрузку. Каков синтаксис для использования такого рода функции в классе?

1 Ответ

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

Передача делегата в прототип вызовет вызов метода для предоставленного делегата.

Если вы хотите, чтобы метод (URLDidFinishDownloading) вызывался после завершения загрузки в классе, из которого вы вызывали его, внедрите делегата в этот класс и укажите метод URLDidFinishDownloading.

Пример примерно так - (примечание: мой obj-c не самый лучший, но, надеюсь, вы поняли идею)

@interface MyClass : BaseClass<GetURLAsyncDelegate> {

}

@implementation MyClass

-(void)URLDidFinishDownloading  {
 ...
}

-(void)downloadData {
  [object startDownloadingDataOfType:@"..." fromUrl:... delegate:self];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...