Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread

后端 未结 2 1316
小鲜肉
小鲜肉 2021-02-15 08:23

I am getting this crash after converting an existing UIViewController to Auto Layout and I can\'t figure out what is causing it. I did search for dispatch_asy

相关标签:
2条回答
  • 2021-02-15 08:41

    Always for change at UI should be work on main thread. also an important subject is you can make an object from view at background thread!!! but for show in view or another changes on it just should be work on main thread, and this subject is main reason for occurrences this problem.

    finally for solve this problem you can easily use from 'DispatchQueue'

    DispatchQueue.main.async {
      // do your work
    }
    
    0 讨论(0)
  • 2021-02-15 08:48

    I finally found out the problem after taking another look at the stack trace. The problem was that I was changing the value property of a UISlider instance on a background thread.

    But nowhere does it state that you have to change it on the main thread! (Thanks, Apple) Apparently, it seems like UISlider implements the value's setter and forces a layout or something similar.

    0 讨论(0)
提交回复
热议问题