Как посетить объект UIApplication в фоновом потоке? - PullRequest
0 голосов
/ 22 апреля 2020

В моей отправленной фоновой ветке мне нужно сделать что-то вроде этого:

if ([[UIApplication sharedApplication] keyWindow].traitCollection.userInterfaceStyle == dark)
{
    // do something
}
else 
{
    //do something else 
}

, но проверка основного потока предупредит об этом

"-[UIApplication keyWindow] must be used from main thread only"

И я не думаю, что я Можно отправить визит в основной поток может работать в моей ситуации, так как посетить traitCollection.userInterfaceStyle в фоновом потоке?

1 Ответ

1 голос
/ 22 апреля 2020

Я бы поместил копию этих данных, чтобы фоновый поток мог получить к ней доступ. Я также отслеживал бы коллекцию признаков в главном потоке, чтобы при изменении он мог отправляться в фоновый поток. Таким образом фоновый поток может повторно запустить этот код в это время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...