iPhone SDK: метод делегата не вызывается - PullRequest
4 голосов
/ 22 февраля 2011

Если метод Delegate не вызывается, то что нужно проверить, чтобы убедиться, что на делегат ссылаются в viewController?

Ответы [ 2 ]

5 голосов
/ 22 февраля 2011

Ну, для начала вы должны соответствовать протоколу в своем заголовке:

@interface MyViewController : UIViewController <<b><em>YOUR DELEGATE'S PROTOCOL HERE</em></b>, <br>                                                           UITableViewDelegate>{

}

@end

В любом случае, это самая распространенная ошибка.

Также просто убедитесь, что вы настраиваете своего делегата.Обычно вы можете сделать это следующим образом:

myObject.delegate = self;

Хотя некоторые классы делают это при инициализации:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MY APP"<br>                                                message:@"HELLO" <br>                                               delegate:<em><b>self</b></em> <br>                                      cancelButtonTitle:@"CLOSE" <br>                                      otherButtonTitles:nil];
0 голосов
/ 22 февраля 2011

Если методы делегата не вызываются, когда вы ожидаете их, возможно, вы фактически не подключили делегат.Это можно сделать либо в коде, либо в конструкторе интерфейсов.Например, UITableView в построителе интерфейса может иметь dataSource и делегировать выходы, присоединенные к цели, например «Владелец файла».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...