2016-07-25 7 views
5

Recenlty Ich habe wiederverwendbare Klasse zum Rendern IBDesignables XIBs in der Benutzeroberfläche gemacht.Debugging IBDesignable - debuggen ausgewählte Ansichten funktioniert nicht

@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 

Bisher war alles bis heute in Ordnung. Ich habe buchstäblich nichts in meinem Code geändert (ich habe sogar auf den Master-Zweig zurückgegriffen, um sicher zu sein) und meine XIBs, die diese Klasse verwenden, werden nicht mehr in Storyboards gerendert.

In Interface Builder gibt es Informationen

Designables: Figur

fehlgeschlagen

aber die Show-Taste tut nichts, aber auch versuchen, Editor> Debug Ausgewählte Ansichten zu verwenden. Ich kann keinen Haltepunkt in meiner Klasse treffen.

Bisher habe ich versucht:

  • Reinigung abgeleiteten Daten
  • Neustart x-Code
  • Interface Builder Cocoa Touch Tool Tötung
  • Voll Neustart
  • Projekt sauber (zwischen zuvor beschriebene Aktionen)

Ist es etwas ki nd von xcode Bug oder irgendwie ist es meine Schuld? Ist es möglich, Designables anders als mit der Debug Selected Views Option zu debuggen?

+0

haben Sie herausgefunden, wie dies zu tun? Nein, es ist wahrscheinlich nicht deine Schuld. Xcode ist ein Stück Mist. – SpaceDog

+0

Ich habe seit einiger Zeit genau das gleiche Problem. Die einzige Lösung, die ich gefunden habe, ist den Inhalt der XIB-Datei zu löschen und neu zu erstellen. In meinem Fall gibt es eine bestimmte Bezeichnung in einer der XIB-Dateien, die normalerweise der Schuldige ist. Ich habe keine Ahnung, warum es korrumpiert wird, oder wie man feststellen kann, in welcher xib-Datei das Problem steckt, geschweige denn, welche Ansicht schuld ist, abgesehen von mühsamen manuellen Tests. Es ist extrem frustrierend. – Erik

Antwort

0

Xcode zeigt nun IB-Build-Fehler an, wenn Sie auf "Report Navigator anzeigen" klicken und dann den Abschnitt "Interface Build" ansehen.

IB Build Errors