Принудительно перезагрузить NSBrowser - PullRequest
3 голосов
/ 13 апреля 2011

Я новичок в Какао, поэтому извиняюсь, если это не имеет смысла.

Я использую NSBrowser, чтобы получить представление столбца в стиле Finder некоторых данных из веб-службы.Результат NSURLConnection возвращается асинхронно.

Моя проблема в том, что браузер правильно вызывает своего делегата для заполнения столбцов при запуске приложения, но я не могу перезагрузить его после получения данных.

Я пробовал reloadDataForRowIndexes, noteHeightOfRowsWithIndexesChanged, addColumn, reloadColumn и loadColumnZero, но ни один из них не запускает браузер для вызова numberOfRowsInColumn делегата, как я ожидал (исм. при запуске).

Я знаю, что делегат браузера в порядке, потому что я вижу, что он вызывается при запуске.

Есть ли другой способ попросить браузер обновить или мне нужнопопробуйте другой подход?

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

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

Ответы [ 2 ]

5 голосов
/ 05 июля 2015

[browser reloadColumn:0] не работал для меня, но [browser loadColumnZero].

4 голосов
/ 13 апреля 2011

[browser reloadColumn:0] - верный путь.Это просто работает, обходного пути не требуется.Ваша ошибка в другом месте, если это не работает для вас.

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