Какао: тестирование на тот же объект с помощью ifs/ переключателей

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

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

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

1 ответ

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

enum
{
    kThingView,
    kOtherView,
    ...
};

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

- (void) textViewDidChange:(UITextView *)textView
{
    switch (textView.tag)
    {
        case kThingView:
            ...
    }
}
Другие вопросы по тегам