2016-07-25 20 views
5

Recenlty Zrobiłem klasy wielokrotnego użytku do renderowania IBDesignables Xibs w widoku interfejsu.Debugowanie IBDesignable - debugowanie wybranych widoków nie działa

@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 

Do tej pory wszystko było ok do dzisiaj. Nie zmieniłem dosłownie nic w moim kodzie (nawet cofnąłem się do głównej gałęzi), a moje Xibs używające tej klasy nie renderują się już w storyboardach.

interfejs konstruktora nie ma informacji

Designables: Budowa udało

ale przycisk Pokaż nic nie robi, jak również próbuje użyć edytora> Debug wybranych widokach. Nie jestem w stanie trafić żadnego punktu przerwania w mojej klasie.

Do tej pory próbowałem:

  • czyszczenia pochodzące danych jednostkowych
  • zrestartowania X-kod
  • zabijania Interfejs Builder Cocoa Touch Narzędzie
  • pełny restart
  • projekt czysty (pomiędzy uprzednio opisane czynności)

Czy to jest jakieś ki nd kodu xcode lub jakoś to moja wina? Czy można debugować designables w inny sposób niż z opcją Debug Selected Views?

+0

masz zorientowali się, jak to zrobić? Nie, to prawdopodobnie nie twoja wina. Xcode jest kawałkiem bzdur. – SpaceDog

+0

Przez pewien czas miałem ten sam problem. Jedynym rozwiązaniem, jakie znalazłem do tej pory, jest usunięcie zawartości pliku Xib i odtworzenie ich. W moim przypadku istnieje konkretna etykieta w jednym z plików XIB, który zwykle jest winowajcą. Nie mam pojęcia, dlaczego jest ona uszkodzona, ani jak określić, w którym pliku Xib występuje problem, a tym bardziej, który widok jest obwiniany, oprócz żmudnych testów ręcznych. To jest bardzo frustrujące. – Erik

Odpowiedz

0

Xcode pokazuje teraz błędy kompilacji IB, jeśli klikniesz "Pokaż nawigatora raportów", a następnie zajrzyj do sekcji Kompilacja interfejsu.

IB Build Errors