• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to update UI from a background thread
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to update UI from a background thread


  • Subject: Re: How to update UI from a background thread
  • From: Uli Kusterer <email@hidden>
  • Date: Sat, 24 Sep 2016 05:14:16 +0200

On 21 Sep 2016, at 18:20, Dave <email@hidden> wrote:
> This doesn’t work probably because the Class is that is calling back the delegate method that updates the Scroll View is also being run on the main thread. Sorry I should have said this earlier. I tried updating the UI on a background thread and it seemed to work BUT I got warning message from CALayer or maybe CATransaction and I think it caused the App to hang.

 You can do limited drawing into an existing view hierarchy on a secondary thread (that's how e.g. the throbbing default button in previous OS versions was drawn), but you have to do it in a very particular way.

Whatever you do, you mustn't manipulate the view hierarchy from a thread. All that'll do is screw up AppKit's or UIKit's internal data structures and lead to random crashes due to memory corruption.

> The time consuming method I am calling is in a third party library and it must be called in the main thread.

 Does it need to be running in your application? Usually you do most of the work on a secondary thread, then use dispatch_async() or so to send the parts that need to happen on the main thread back there. If you can't do that, another option would be to run the code on the main thread of another process, e.g. using XPC, and have that call you back when it needs to make your app do something on *its* main thread.

Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


References: 
 >How to update UI from a background thread (From: Dave <email@hidden>)
 >Re: How to update UI from a background thread (From: Sandor Szatmari <email@hidden>)
 >Re: How to update UI from a background thread (From: Dave <email@hidden>)

  • Prev by Date: Re: Modern API to read textClipping files
  • Next by Date: Re: Stupid objective-c question
  • Previous by thread: Re: How to update UI from a background thread
  • Next by thread: Re: How to update UI from a background thread
  • Index(es):
    • Date
    • Thread