layer is a part of cycle in its layer tree iOS 9 S

2019-04-21 01:46发布

When I load my view controller I'm getting this error:

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

I don't know why. I think I might've added a third party framework that messed with layers, but I removed it in my troubleshooting. Any insights would be great.

EDIT

It happens during viewDidLoad of my tableViewcontroller. I have a tableView on my second vc. I've narrowed it down to it crashing on setting the heightForRowAtIndexPath on the 4th custom cell. The cell is on a static tableView................. :/ Getting closer!

Here's my heightForRowAtIndexPath:

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

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

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

Pretty generic. Any thoughts on where else this might be caused?

7条回答
Emotional °昔
2楼-- · 2019-04-21 01:48

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

layer.addSublayer(layer)

Adding a layer to itself

查看更多
相关推荐>>
3楼-- · 2019-04-21 01:52

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

self.view.addSubview(view)

or

contentView.addSubview(self.view)
查看更多
Rolldiameter
4楼-- · 2019-04-21 01:53

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

Can't post the screenshot, because I don't have enough reputation. The blog post shows you how to do it though.

查看更多
Deceive 欺骗
5楼-- · 2019-04-21 02:03

I had this issue too, and found out I accidentally created an outlet from the TableViewCell backgroundView to the TableView's view - DOH!

查看更多
Lonely孤独者°
6楼-- · 2019-04-21 02:04

I solved one crash of this kind by removing the outlet to File' s owner in some of xib UI files. I answer here in case someone encounters a similar thing.

查看更多
我只想做你的唯一
7楼-- · 2019-04-21 02:05

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.

查看更多
登录 后发表回答