Используйте IBOutletCollection, чтобы добавить коллекцию розеток в свой контроллер вида, например:
@property (retain, nonatomic) IBOutletCollection(UIButton) NSMutableSet* buttons;
Это позволит вам подключить все ваши кнопки к одной розетке.Свойство buttons
будет NSMutableSet, содержащим все ваши кнопки.Вы можете продолжать идентифицировать отдельные кнопки, используя свойство кнопки tag
.Это удобно, если вы хотите выполнить итерацию по всем вашим кнопкам, возможно, для настройки изображения каждой кнопки:
for (UIButton *b in self.buttons) {
b.imageView.image = [self imageForTag:b.tag];
}
(вам нужно будет предоставить метод -imageForTag:
, чтобы обеспечить правильное изображение для данногопометить тегами или найти другой способ сопоставления тегов и изображений.)
Конечно, если вы уже знаете диапазон значений тегов для всех своих кнопок и позаботились о том, чтобы сделать теги уникальными.внутри представления, содержащего все кнопки, вы также можете просто извлечь каждую кнопку по отдельности, используя -viewWithTag:
.Вероятно, это не так быстро, как создание всего набора кнопок, как у описанной выше коллекции розеток, но это означает, что есть еще одна вещь, которую нужно поддерживать.