О делегате вкратце:
* отвечает за рисование одного элемента данных в представлении.
* отвечает за создание виджета-редактора (с помощью которого пользователь может изменить данные элемента)
* принимает события, например, мыши.
Про делегат можно прочитать
тут