В чем разница между .tag и tag - PullRequest
0 голосов
/ 02 декабря 2010

У меня есть запрос по этому вопросу.Посмотрите на приведенный ниже пример кода:

UIButton *button;    
button.tag = 1;

и

int but =  (int)[(UIButton*)sender tag];

В первой строке я задаю номер тега 1 для переменной кнопки, используя метод .tagА во второй строке я использовал (int)[(UIButton*)sender tag]; для извлечения и приведения отправителя в целочисленное значение.Мой вопрос будет таким: какая разница между .tag и методом тега?

1 Ответ

0 голосов
/ 02 декабря 2010

Там не должно быть никакой разницы.До Objective C 2.0 точечные методы не существовали;они были добавлены, но они функционируют как ярлыки для более длинного вызова в скобках.

В вашем конкретном примере кода, в первом блоке кода, button не содержит указатель на кнопку.Вам нужно вызвать

UIButton *button = [UIButton buttonWithType:UIButtonRoundedRect];
button.tag = 1;

, чтобы установить тег на 1. Второй блок кода берет существующую кнопку и извлекает ее тег на int, как вы указали.Лучшим примером параллельных методов будет:

button.tag = 1; и [button setTag:1];, или

int tag = button.tag; и int tag = [button tag];

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