Цель C: несколько делегатов - PullRequest
13 голосов
/ 06 декабря 2010

Мне любопытно, если и как заставить контроллер быть делегатом для двух разных объектов.

Это разрешено или это как множественное наследование в Java?

Предположим, я хотел бы иметь один контроллер, который отвечал бы: <UIAccelerometerDelegate> и <CLLocationManagerDelegate>

Будет ли файл заголовка выглядеть так?

@interface MainViewController : UIViewController <UIAccelerometerDelegate> AND <CLLocationManagerDelegate> {

Ответы [ 4 ]

38 голосов
/ 06 декабря 2010

На самом деле, это работает довольно хорошо. Объявите ваш интерфейс так:

@interface MainViewController : UIViewController <UIAccelerometerDelegate, CLLocationManagerDelegate>

, а затем реализуйте методы из обоих интерфейсов делегатов.

6 голосов
/ 06 декабря 2010

Нет, вот так:

@interface MainViewController : UIViewController <UIAccelerometerDelegate, CLLocationManagerDelegate> {
5 голосов
/ 06 декабря 2010
@interface MainViewController : UIViewController <UIAccelerometerDelegate, CLLocationManagerDelegate> 
4 голосов
/ 06 декабря 2010

Все так просто:

@interface MainViewController : UIViewController <UIAccelerometerDelegate, CLLocationManagerDelegate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...