Objective C — что означает delegate: self?
Прочитал оба ответа, и если бы я не был с этим знаком, то я бы ничего не понял.
Скорей всего, вы показываете UIActionSheet в каком-либо UIViewController. Устанавливая delegate:self (а в некоторых классах это задается не в конструкторе, а вручную), вы говорите, что вы будете реализовывать какое-то свое поведение на взаимодействие с данным объектом.
Когда вы устаналиваете делешатом какой-либо объект, то этот объект чаще всего должен реализовывать хотя бы один из методов делегата, которые задаются в протоколах, у UIActionSheet это UIActionSheetDelegate.
Т.е. ваш UIViewController будет описан следующим образом 
@ interface MyController : UIViewController < UIActionSheetDelegate >
Чтобы не лезть в документацию все методы протокола для удобства начинаются с actionSheet. Все, что вам нужно это начать вводить начало функции "- actionSh…" далее вам уже покажут все методы, которые так начинаются и будет их краткое описание.
Делегирование очень важно и часто встречается при разработке, поэтому советую почитать про них у Apple 
https://developer.apple.com/library/ios/documentat...
Что "берет на себя задачу X" на себя (т.е. указываем наш UIView). Наш вью несет ответсвенность за происходящее !