ビューコントローラをロードすると、次のエラーが発生します。
*** Terminating app due to uncaught exception 'CALayerInvalid', reason: 'layer <CALayer: 0x7fda42c66e30> is a part of cycle in its layer tree'
理由はわかりません。レイヤーを台無しにしたサードパーティのフレームワークを追加したかもしれないと思いますが、トラブルシューティングで削除しました。どんな洞察も素晴らしいでしょう。
それは私のviewDidLoad
のtableViewcontroller
の間に起こります。 2番目のVCにtableViewがあります。 4番目のカスタムセルにheightForRowAtIndexPath
を設定するとクラッシュするように絞り込みました。セルは静的なtableView
.................にあります:/近づいています!
これが私のheightForRowAtIndexPath
です:
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
print("idx = \(indexPath.row)")
return super.tableView(tableView, heightForRowAtIndexPath: indexPath)
}
かなり一般的です。これが他にどこで引き起こされる可能性があるかについての考えはありますか?
私も同じエラーがあり、これを見つけました fix
TableViewに表示されるaccessoryViewOutletを削除することに言及しています。
これをする:
以下のスクリーンショットで、切断するコンセントを確認してください。
self.viewにself.viewを追加するかどうかを確認します。例:
self.view.addSubview(view)
または
contentView.addSubview(self.view)
これはまだこれで困っている誰かを助けるかもしれません、私にとって問題はこれでした
layer.addSublayer(layer)
それ自体にレイヤーを追加する???? ♂️。この間違いの後、私は自分自身を殺すつもりです:(。
私の友人の一人が同じ問題に直面していました。根本的な原因は、UITableviewのviewForHeaderInSectionデリゲートにありました。
彼は、このデリゲートのコントローラーのメインビューにラベルを追加していました。彼はUIViewを作成してこのデリゲートに返すことになっていたが、残念ながらそこでself.viewを返していた。したがって、このコードを削除すると問題が修正されました。
いくつかのxib
UIファイルのFile' s owner
へのアウトレットを削除することで、この種のクラッシュを1つ解決しました。誰かが同じようなことに遭遇した場合に備えて、ここで答えます。
私にもこの問題があり、TableViewCellのbackgroundViewからTableViewのビューへのアウトレットを誤って作成したことがわかりました-DOH!
私はなんとかそれを修正することができましたが、私が望んでいた方法ではありませんでした。問題の原因となっているtableViewCellをスクラッチし、すべてのレイアウト制約を最初から再構築することになりました。理想的ではありませんが、うまくいきました。誰かが将来一緒に来て、このエラーが発生した理由を説明できることを願っています!乾杯。