Задать вопрос
  • Objective C - что означает delegate: self?

    DaskOFF
    @DaskOFF
    iOS Developer
    Прочитал оба ответа, и если бы я не был с этим знаком, то я бы ничего не понял.

    Скорей всего, вы показываете UIActionSheet в каком-либо UIViewController. Устанавливая delegate:self (а в некоторых классах это задается не в конструкторе, а вручную), вы говорите, что вы будете реализовывать какое-то свое поведение на взаимодействие с данным объектом.

    Когда вы устаналиваете делешатом какой-либо объект, то этот объект чаще всего должен реализовывать хотя бы один из методов делегата, которые задаются в протоколах, у UIActionSheet это UIActionSheetDelegate.
    Т.е. ваш UIViewController будет описан следующим образом
    @ interface MyController : UIViewController < UIActionSheetDelegate >

    Чтобы не лезть в документацию все методы протокола для удобства начинаются с actionSheet. Все, что вам нужно это начать вводить начало функции "- actionSh…" далее вам уже покажут все методы, которые так начинаются и будет их краткое описание.

    Делегирование очень важно и часто встречается при разработке, поэтому советую почитать про них у Apple
    https://developer.apple.com/library/ios/documentat...
    Ответ написан
    2 комментария