Сначала двоеточие является частью селектора: @selector(changeIconState:)
.
Во-вторых, действия - это методы, которые принимают определенный набор параметров - вы не можете просто использовать любой метод в качестве действия. Обычно действия выглядят так:
- (void)myAction:(id)sender;
где отправитель - указатель на объект, который отправляет действие. В вашем коде при нажатии thisIconButton эта кнопка будет передана как отправитель.