Мне иногда нравится организовывать элементы IB в NSArray
s в первую очередь, чтобы помочь мне организовать свои элементы.Чаще всего разные классы объектов превращают его в один массив друг с другом.Хотя это является удобным способом организации, я не могу понять, почему, если у меня есть такой массив:
NSArray *array = [NSArray arrayWithObjects:((UITextField *)textField), ((UISegmentedController *)segmentedController), nil];
Почему я получаю "Не отвечаетдля выбора сообщений, когда я помещаю цикл for
следующим образом:
for (UITextField *text in array) {
[text setText:@""];
}
Кажется, что в цикл for
передаются объекты, которые не относятся к классу UITextField
.
Чтосмысл объявлять класс объекта, если все объекты в указанном массиве передаются через цикл?
EDIT Просто для справки, вот как я сейчас работаю с ним:
for (id *object in array) {
if ([object isMemberOfClass:[UITextField class]]) {
foo();
} else if ([object isMemberOfClass:[UISegmentedController class]) {
bar();
}
}