(iphone) что не следует делать в фоновом режиме по отношению к UIView? - PullRequest
4 голосов
/ 22 апреля 2011

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

Интересно, все ли операции в порядке в фоновом потоке или нет.

  1. выделение UIView
  2. init UIView с / без (CGRectZero или просто init) информация о кадре
  3. изменение свойства фрейма / изображения (UIImageView's) UIView
  4. изменение свойства изображения производного класса NSObject.(обрабатывая UIImage как данные)
  5. доступ к подпредставлениям с помощью метода подпредставлений
  6. и т. д. Есть ли четко определенная документация по этому вопросу?

Спасибо

1 Ответ

3 голосов
/ 22 апреля 2011

Вы не должны делать ничего, что связано с фоновым потоком.Все перечисленные элементы не должны выполняться в фоновом режиме.Если вы корректно разбиваете свое приложение на MVC, представление должно содержать только элементы, которые определяют, как оно отображается.Так что все, что касается одного, должно быть только в главном потоке.

Все ваши манипуляции с данными должны находиться в вашей модели.Это может быть нарезано по мере необходимости для производительности.Просто будьте осторожны, отправляя сообщения для обновления пользовательского интерфейса для обработки данных в главном потоке.Это включает в себя уведомления.Они отправляются в том же потоке, в котором они были созданы.Так что при отправке легко забыть переключиться на mainThread.

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