2013-11-22 12 views
11

Ich importiere eine Datei von BOX. Ich habe Box SDK V2 verwendet. Es wird erfolgreich importiert, aber beim Importieren muss der Bildschirm auf einem nächsten Controller navigieren. Ich habe Absturz auf dieserAssertionsfehler in void _UIPerformResizeOfTextViewForTextContainer

NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"CategoryOptionView" 
                 owner:nil 
                options:nil]; 

und das ist der Fehler

Assertionsfehler in Leere _UIPerformResizeOfTextViewForTextContainer (NSLayoutManager *, UIView *, NSTextContainer *, NSUInteger)(), /SourceCache/UIFoundation_Sim /UIFoundation-229/UIFoundation/TextSystem/NSLayoutManager_Private.m:1516 2013-11-22 08: 04: 10.083 PunchList [1019: 6a2b] *** Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInternalInconsistencyException', Grund: 'Nur ausführen auf dem Hauptthread! '

+0

+1 Interessanterweise benutze ich auch Box SDK v2, und ein ähnliches Problem beim Drücken eines View-Controllers. Ich denke, dass es etwas damit zu tun hat, wie Box Sachen in einen Pool für automatische Veröffentlichung einpackt? Denn da bricht es für mich (in BoxAPIOperation). Ich "fixierte" das Problem, indem ich den VC-Push in performSelector einpackte: withObject: delay: mit 0 delay (grundsätzlich bis zum Ende der run loop). :/ –

+0

Danke für das Posten dieser Frage, weil Leute wie wir manchmal Angst haben, wie zu einer sk Frage, oder Mangel an Zeit (Ausreden), stellen wir nicht die Frage .. danke für die Frage zu stellen, hat meine gelöst. –

Antwort

34

Nun, der Ausnahmegrund gibt das Problem weg; Sie sollten diesen Code im Hauptthread ausführen. Versuchen Sie, die Erstellung der Ansicht und das Laden der Schreibscheitel unter Verwendung von dispatch_sync oder dispatch_async einzuschließen und die Hauptwarteschlange mit dispatch_get_main_queue() zu übergeben.

+1

Vielen Dank für Ihre Unterstützung. –

+0

@NabeelThobani Lassen Sie mich wissen, wenn Sie noch etwas brauchen. –

+0

@Leo Ich habe das selbe Problem und habe den Grund gesehen - aber weißt du: wieso würde es NICHT im Hauptthread laufen? Ich bekomme es, wenn ich einen modalen Übergang ausführe, seltsamerweise nur auf dem physischen Gerät, nicht im Simulator. –

Verwandte Themen