Mapkit Посмотреть вместе с таблицей - PullRequest
0 голосов
/ 17 ноября 2010

Я новичок в Iphone Dev, кажется, на самом деле не понимает делегатские вещи. Можем ли мы объединить представление mapkit и tableview в одном представлении?

Я искал, и кто-то сказал, что мы не можем использовать более одного делегата в одном контроллере представления. Поскольку я знаю, что mapkit требует MKMapViewDelegate, а tableview требует UITableViewDelegate, я прав до этого момента? Тогда это значит, что мы не можем соединить mapkit и tableview в одном представлении вместе?

То, что меня также смущает, я сделал простое приложение, которое использует textview и mapkit вместе. Я только передаю MKMapViewDelegate для просмотра контроллера. Но textview также требует, чтобы делегат закрыл клавиатуру, используя textFieldShouldReturn. Поэтому мне удается связать делегата из файла IB, но не передал UITextFieldDelegate для просмотра контроллера. И это работает. В чем разница, если мы связываем делегата с помощью IB или передаем параметр делегата для просмотра контроллера?

Спасибо

1 Ответ

0 голосов
/ 17 ноября 2010

Контроллер представления МОЖЕТ быть делегатом как для представления карты, так и для представления таблицы. Объект становится простым делегатом, реализуя методы протокола делегата, в данном случае это MKMapViewDelegate и UITableViewDataSource.

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

@interface MyObject : NSObject <UITableViewDataSource, MKMapViewDelegate>
{
    ...

Нет существенной технической разницы между настройкой делегата в IB и в коде. Я бы посоветовал устанавливать их в IB, потому что использование IB сокращает объем написанного вами кода и, следовательно, снижает вероятность сбоя кода.

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