Domanda

Non riesco a capire perché ho crash quando poping tornare alla vista precedente contoller in stack di spostamento. Il fatto è che sto usando barra di navigazione personalizzata (originale viene hidded ei miei pulsanti personalizzati incendi navigazione - push e pop - invece).

Trace ottengo:

Program received signal:  “EXC_BAD_ACCESS”.

#0  0x011a4a60 in objc_msgSend
#1  0x0044e37c in -[UIImageView(UIImageViewInternal) _canDrawContent]
#2  0x003bf3df in -[UIView(Internal) _didMoveFromWindow:toWindow:]
#3  0x003bf1b0 in -[UIView(Internal) _didMoveFromWindow:toWindow:]
#4  0x003bf1b0 in -[UIView(Internal) _didMoveFromWindow:toWindow:]
#5  0x003bdfc4 in -[UIView(Hierarchy) _postMovedFromSuperview:]
#6  0x003b6dfc in -[UIView(Internal) _addSubview:positioned:relativeTo:]
#7  0x003b514f in -[UIView(Hierarchy) addSubview:]
#8  0x005ca471 in -[UINavigationTransitionView transition:fromView:toView:]
#9  0x005c9ed5 in -[UINavigationTransitionView transition:toView:]
#10 0x0043c606 in -[UINavigationController _startDeferredTransitionIfNeeded]
#11 0x0043c292 in -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:]
#12 0x0043bfa9 in -[UINavigationController popViewControllerWithTransition:]
#13 0x0043f62b in -[UINavigationController popToViewController:transition:]
#14 0x000124fa in -[BaseViewController bottomNavigationFiredController:] at BaseViewController.m:187
È stato utile?

Soluzione

avevo affrontato lo stesso problema che potrebbe essere perché la vostra ultima vista non è più retained.The miglior modo potrebbe essere cercare di conservare la vista precedente, rendendo la proprietà e sintetizzarlo.

Quindi provare a utilizzare

[self.navigationConroller popViewControllerAnimated:YES];

o al pop alla visualizzazione desiderata

[self.navigationController popToViewController:myview animated:YES];

o al pop al rootview

[self.navigationController popToRootViewControllerAnimated:YES];

Fammi sapere se aiuta you.because questo errore viene quando si sta tentando di andare in una visione che è stato già rilasciato.

Altri suggerimenti

Vale la pena ricordare che quando viewcontroller viene allontanato a stack di spostamento (nuova vista controler è spinta a), anche se non è esso stesso rilasciato (mantenuto così il pila controller di navigazione), sua vista maim è essere rilasciato (con tutti i suoi di subviews ovviamente) tu.

Quindi questo tipo di incidente sarà principalmente puntare alla UI parte di gestione della memoria (più problably doppio rilascio di UIImages autoreleased che era il mio caso; -).

La speranza aiuta qualcuno a capire come UINavigationController gestisce la memoria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top