Какао: Тестирование на тот же объект с помощью ifs / переключателей - PullRequest
0 голосов
/ 04 мая 2010

Хорошо, вот мой код, он прекрасно работает:

- (void)textViewDidChange:(UITextView *)textView{
 if (textView==someObject) {
  [detailItem setValue:textView.text forKey:@"someObjectAttribute"];
 }

Проблема в том, что у меня много экземпляров textviews для тестирования, и я предпочел бы найти какой-то другой способ консолидации кода. Я думал о чем-то вроде переключателя, но я не понимаю, как это будет работать. Есть идеи?

1 Ответ

1 голос
/ 04 мая 2010

Один из способов - использовать целочисленный тег для каждого представления. В вашем коде у вас будет следующее перечисление:

enum
{
    kThingView,
    kOtherView,
    ...
};

Каждый тег представления устанавливается соответствующим образом в IB или при программной настройке представления. Тогда:

- (void) textViewDidChange:(UITextView *)textView
{
    switch (textView.tag)
    {
        case kThingView:
            ...
    }
}
...