layer is a part of cycle in its layer tree iOS 9 Swift 2

I had the same error too and found this fix

It mentions to remove the accessoryView Outlet which you will see on the TableView.

To do this:

  1. Click on the Table View
  2. Go to the "Connections Inspector", it's the right window, the very last icon (looks like a circle with an arrow right)
  3. Look for the accessoryView and disconnect the outlet

In the screenshot below, see the outlet you are to disconnect:

enter image description here


This might help someone still in trouble with this, For me the issue was this

layer.addSublayer(layer)

Adding a layer to itself 🤦‍♂️ . After this mistake I am planning to kill myself :(.


check if you add self.view in self.view, exemple:

self.view.addSubview(view)

or

contentView.addSubview(self.view)

One of my friend was facing the same issue. The root cause was lying in the viewForHeaderInSection delegate of UITableview.

He was adding a label in main view of the controller in this delegate. He was supposed to create a UIView and return it in this delegate but unfortunately he was returning self.view there. So removing this code fixed the issue.