Я получаю сообщение об ошибке, когда Iam меняет механизм автозапуска из фонового потока, есть ли способ узнать, какой блок кода делает это предупреждение? или мне просто нужно искать его самостоятельно? Спасибо.Изменение пользовательского интерфейса из фоновой темы
ответ
Возможно есть лучший ответ, но я хотел бы начать, поставив
для Swift:
assert(NSThread.isMainThread(), "Expected code to be called on main thread");
для Objective-C:
NSAssert([NSThread isMainThread], @"Expected code to be called on main thread");
ко всем разделам вашего кода, который вы» с подозрением.
В этом случае приложение будет разбиваться, если вы делаете этот код не по основной теме.
Эта ошибка является ошибкой или является исключением? Если это исключение, вы можете попытаться поймать его с помощью контрольной точки исключения, как здесь: How to debug “Collection was mutated while being enumerated” errors and like, when Xcode does not provide me with enough information??
После посмотрев на ваше точное сообщение выглядит то, что вам нужно:
Этот код PSPDFUIKitMainThreadGuard вызывает утверждения по UIKit доступа вне основного потока
взяты из iOS9 - This application is modifying the autolayout engine from a background thread — where?.
У меня есть проект с почти 30K строк кода: D, я не могу это сделать – user3703910
Является ли эта ошибка ошибкой или это исключение? Если это исключение, вы попытались поймать его с помощью контрольной точки исключения, например [здесь] (http://stackoverflow.com/a/16072549/598057)? –
это предупреждение, система выводит на консоль xcode следующее: Это приложение изменяет механизм автозапуска из фонового потока, что может привести к повреждению двигателя и странным сбоям. Это приведет к исключению в будущей версии – user3703910
- 1. Изменение пользовательского интерфейса из другой темы
- 2. Обновление пользовательского интерфейса из фоновой темы во время события касания
- 3. Открыть форму в потоке пользовательского интерфейса из фоновой темы
- 4. Доступ к объекту пользовательского интерфейса из фоновой темы
- 5. WPF: выпуск обновления интерфейса из фоновой темы
- 6. android threading and handler - Изменение объектов пользовательского интерфейса из фоновой темы
- 7. Открыть модальную форму из фоновой нити, чтобы заблокировать поток пользовательского интерфейса без блокировки фоновой темы
- 8. Обновление datagridview из фоновой темы
- 9. Обновление связанных свойств из фоновой темы
- 10. AsyncTask: не изменен из фоновой темы
- 11. Изменение пользовательского интерфейса из AppDelegate
- 12. Как стать резидентом. Отменить из фоновой темы.
- 13. Обновление пользовательского интерфейса из другой темы
- 14. Обновление пользовательского интерфейса с сообщениями из темы
- 15. Обновление пользовательского интерфейса из другой темы
- 16. WPF - Приостановка темы пользовательского интерфейса?
- 17. Идентификатор темы пользовательского интерфейса Android
- 18. Лучший/самый распространенный способ обновления интерфейса от фоновой темы
- 19. Начало деятельности из фоновой темы
- 20. Добавление представления из фоновой темы
- 21. Вызывать таймер из фоновой темы
- 22. Ждите флага из фоновой темы
- 23. Обновить таблицу из фоновой темы?
- 24. Добавить элемент в общий список объектов потока пользовательского интерфейса из фоновой темы
- 25. Вызов lambda/std :: function в основном потоке пользовательского интерфейса из фоновой темы
- 26. Продолжение задачи в потоке пользовательского интерфейса при запуске из фоновой темы
- 27. Как получить доступ к ресурсам из фоновой темы
- 28. Изменение пользовательского интерфейса DevExpress
- 29. Изменение пользовательского интерфейса longlistSelector
- 30. Изменение пользовательского интерфейса WPF
Вы можете установить точки останова в xCode, как это, и, возможно, он покажет вам, что блок кода делает ваше предупреждение. [введите описание изображения здесь] (http://i.stack.imgur.com/YLZVN.png) –
, если вы обновляете ограничения в своем коде, просто поместите их в блок mainQueue NSOperationQueue. –