(id) отправитель iPhone Объяснение - PullRequest
0 голосов
/ 07 марта 2011

Эй, ребята, Может кто-нибудь объяснить мне, что именно (id) отправитель точно означает? Я видел это во многих действиях, и я не знаю, как установить этот идентификатор отправителя.

- (IBAction)publishStream:(id)sender {
   // do something
}

Кроме того, вы можете сказать мне, как я могу установить этот идентификатор отправителя в коде?

Спасибо, ура, doonot

Ответы [ 4 ]

5 голосов
/ 07 марта 2011

'id' - это тип, в частности, это тип нетипизированного указателя на объект. Переменная типа 'id' может указывать на любой объект target-c. В случае IBAction обычно используется единственный параметр с именем 'sender', который является объектом, отправляющим действие. Любой тип объекта может отправлять действие, поэтому типом параметра «отправитель» является «id».

3 голосов
/ 07 марта 2011

Используя это, вы можете перенаправить несколько «виджетов» пользовательского интерфейса в одну и ту же функцию-обработчик. Затем вы можете использовать отправителя, чтобы узнать, кто из них сгенерировал сообщение.

2 голосов
/ 07 марта 2011

Ну, ID в основном пустой тип, так что это тот тип объекта, который его вызвал, я не верю, что вы на самом деле устанавливали отправителя, это просто объект. Так что, скажем, UIB-кнопка, называемая моим IBAction, будет отправителем, каким бы ни был UIB-кнопка.

0 голосов
/ 07 марта 2011

На самом деле отправитель - это Control, который вызывает событие. лайк, Если, если вы нажали кнопку внутри, и вы присоединили к своему методу. тогда эта кнопка будет отправителем здесь.

...