Недавно я создал многоразовый класс для рендеринга IBDesignables
xibs в представлении интерфейса.
@interface ReusableView ()
@property (nonatomic, strong) UIView *contentView;
@end
@implementation ReusableView
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
[self setupXib];
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
[self setupXib];
return self;
}
- (void)setupXib {
self.contentView = [self loadFromNib];
self.contentView.frame = self.bounds;
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self addSubview:self.contentView];
}
- (UIView *)loadFromNib {
NSBundle *bundle = [NSBundle bundleForClass: [self class]];
UINib *nib = [UINib nibWithNibName:NSStringFromClass([self class]) bundle:bundle];
UIView *view = (UIView *)[[nib instantiateWithOwner:self options:nil] firstObject];
return view;
}
@end
Пока все было нормально до сегодняшнего дня. Я буквально ничего не изменил в своем коде (я даже откатился к основной ветке, чтобы быть уверенным), и мои xibs, использующие этот класс, больше не отображаются в раскадровках.
В конструкторе интерфейсов есть информация
Designables: сборка не удалась
но кнопка «Показать» ничего не делает, а также пытается использовать «Редактор»> «Отладка выбранных представлений». Я не могу попасть ни в одну точку останова в своем классе.
До сих пор я пробовал:
- очистка производных данных
- перезапуск x-кода
- Убийство Инструмент Cocoa Touch Tool для создания интерфейсов
- полный перезапуск
- проект чистый (между ранее описанными действиями)
Это какая-то ошибка xcode или как-то это моя вина? Можно ли отлаживать Designables каким-либо другим способом, кроме как с опцией Debug Selected Views
?