Error message that UIKit should not be called from a secondary thread

前端 未结 2 841
囚心锁ツ
囚心锁ツ 2020-12-17 07:21

I have an app which uses a UISearchBar to dynamically search from an external API based on user input.

The app is searching the external API fine and d

2条回答
  •  情书的邮戳
    2020-12-17 07:46

    "Tried to obtain the web lock from a thread other than the main thread or the web thread UIKit should not be called from a secondary thread"

    The fix is conceptually simple; don't update the UI from your thread.

    Assuming the parseDidComplete is where the message is sourced, then something like this will "work":

    [delegate performSelectorOnMainThread: @selector(parseDidComplete) withObject: nil waitUntilDone: YES];
    

    "Work" because threading is hard and this answer completely ignores any synchronization issues you might have.

    Note that you'd be better off using NSOperation and NSOperationQueue. They are well documented and there are a bunch of examples.

提交回复
热议问题