Обновление NSCollectionView из другого потока приводит к его пустому - PullRequest
0 голосов
/ 21 декабря 2011

В моем приложении Mac есть NSCollectionView, и он содержит некоторые значки. Тем временем я использую NSOperationQueue в качестве планировщика задач, чтобы поставить в очередь некоторые операции. В одной операции NSO я изменяю содержимое NSCollectionView, представление должно обновляться сразу при изменении содержимого.

Если я обновлю его в главном потоке, то он отлично работает. Если я добавлю тот же исходный код в конец NSOperation :: main (), то NSCollectionView будет полностью пустым.

Это какая-то ошибка или я делаю это неправильно?

Спасибо!

1 Ответ

2 голосов
/ 21 декабря 2011

Все взаимодействие с элементами пользовательского интерфейса должно выполняться в основном потоке.

Вы можете использовать метод performSelectorOnMainThread:withObject:waitUntilDone:, чтобы помочь вам обновлять элементы пользовательского интерфейса из фоновых потоков.

...