2015-07-22 20 views
7

Quando carico il mio controller di vista sto ottenendo questo errore:strato è una parte del ciclo nel suo albero strato iOS 9 Swift 2

*** Terminating app due to uncaught exception 'CALayerInvalid', reason: 'layer <CALayer: 0x7fda42c66e30> is a part of cycle in its layer tree' 

non so perché. Penso che potrei aver aggiunto un framework di terze parti che ha incasinato i livelli, ma l'ho rimosso nella mia risoluzione dei problemi. Qualsiasi intuizione sarebbe grande.

EDIT

Succede durante viewDidLoad della mia tableViewcontroller. Ho un tavoloView sulla mia seconda vc. L'ho ridotto ad arresto anomalo impostando lo heightForRowAtIndexPath sulla quarta cella personalizzata. La cella è statica tableView .................:/Avvicinandosi!

Ecco la mia heightForRowAtIndexPath:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 

    print("idx = \(indexPath.row)") 

    return super.tableView(tableView, heightForRowAtIndexPath: indexPath) 
} 

piuttosto generica. Qualche idea su dove altro potrebbe essere causato?

+0

Puoi mostrare i codici relativi? – Raptor

risposta

9

Ho avuto lo stesso errore di troppo e abbiamo trovato questo fix

Esso menziona per rimuovere l'Outlet accessoryView che si vedrà sul TableView.

Per fare questo:

  1. Cliccare sulla Table View
  2. Passare a "ispettore Connections", è la finestra di destra, l'ultima icona (che sembra un cerchio con una freccia a destra)
  3. Cercare l'accessoryView e scollegare l'uscita

Impossibile inviare lo screenshot, perché io non ho abbastanza reputazione. Il post sul blog ti mostra come farlo però.

0

Sono riuscito a sistemarlo ma non nel modo che speravo. Alla fine ho graffiato il TableViewCell che stava causando il problema e ricostruendo tutti i vincoli del layout da zero. Non ideale, ma ha funzionato. Spero che qualcuno possa venire in futuro e spiegare perché è successo questo errore! Saluti.

1

Ho risolto un crash di questo tipo rimuovendo la presa su File' s owner in alcuni dei file UI xib. Rispondo qui nel caso qualcuno incontri una cosa simile.

16

di controllo se si aggiunge self.view in self.view, exemple:

self.view.addSubview(view) 

o

contentView.addSubview(self.view) 
+0

Grazie per avermi salvato un sacco di dolori: thumbs_up: –

+0

Buona risposta, ma non ti dice invece cosa fare. Nel caso precedente probabilmente intenderai aggiungere una view diversa da self.view come sottomenu. Può essere ovvio per gli sviluppatori iOS più esperti, ma questo chiarimento mi avrebbe aiutato aha –

0

ho avuto questo problema troppo, e ho scoperto per sbaglio ho creato uno sbocco dal TableViewCell backgroundView alla vista di TableView - DOH!