NSTask в NSBundle - PullRequest
       5

NSTask в NSBundle

0 голосов
/ 20 декабря 2011

Я вычисляю общее количество файлов по определенному пути и показываю результат в пользовательской ячейке Я использую NSThread для расчета количества файлов в методе - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView (в комплекте). когда я вычисляю количество файлов, в нем отображается пустая ячейка. я думаю, что его вызов [super drawWithFrame:newFrame inView:controlView]; до NSThread возвращает результат.
Может кто-нибудь, пожалуйста, помогите мне? Спасибо:)

1 Ответ

1 голос
/ 20 декабря 2011

Сама причина использования потока для этого состоит в том, чтобы не блокировать пользовательский интерфейс в основном потоке.Причиной этого является то, что поток запускается, а затем метод создания потока немедленно возвращает , чтобы основной поток мог продолжить работу.

Так что да, вы получаете[super drawWithFrame:inView:] до окончания резьбы.Вы не должны ждать окончания потока - это побьет цель использования потока.

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

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