Какао: тестирование на тот же объект с помощью 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:
...
}
}