setTag
следует считать методом, который принадлежит подклассам UIView.Если вы уверены, что рассматриваемый объект действительно является подклассом UIView, вы бы назвали метод как обычно: [someIdInstance setTag:5];
Исходя из вашего вопроса, я бы предположил, что вы, возможно, не понимаете значение id
тип.Объект типа id
может реально быть указателем на любой тип объекта.Вы не можете гарантировать, что setTag:
действительно может быть определено для этого объекта, поэтому обычно код, работающий с указателями id
, выполняет следующие шаги:
id foo = [self getSomePointer];
if([foo respondsToSelector:@selector(setTag:)]) {
[foo setTag:4];
}
Код проверяет, является лиОбъект даже имеет метод, прежде чем пытаться вызвать его.