Я новичок в iPhone Dev. Мое приложение динамически создает кнопки, следующие из моей модели данных. Модель не просто список; это дерево. Мне нужен какой-то способ соотнести созданную кнопку с этой моделью данных, чтобы при нажатии кнопки я знал, какой части модели она соответствует.
В Windows большинство элементов управления пользовательского интерфейса имеют поле «тег», в которое можно поместить пользовательские данные. Используя аналогичный шаблон, я бы хотел сделать следующее на iPhone:
- (void)createMyButton:(MyModel*)foo
{
UIButton* button = <insert creation code here>
[button addTarget:self action:@selector(handleCreatedButtonTouch:) ...];
button.tag = foo;
}
- (void)handleCreatedButtonTouch:(id)sender
{
UIButton* button = (UIButton*)sender;
MyModel* foo = (MyModel*)(button.tag);
[foo userTouchedMyButton];
}
Я не могу найти упоминания о таком поле в документации Apple. Как вы, iPhone гуру, делаете это? Опять же, у меня нет простого способа индексирования в моей модели данных, и выполнение перечисления по всей модели данных для нахождения соответствия кажется очень неправильным.