2010-07-20 2 views
1

У меня есть NSDictionaryController, содержимое которого связано с NSMutableDictionary, как инициализировано, так и подключено в Interface Builder. После вызова определенного IBAction содержимое словаря программно модифицируется. NSTableView, связанный с привязками Cocoa к NSDictionaryController, не обновляется, несмотря на то, что NSLogging словаря показывает эти обновления.Обновление NSTableView с измененным содержимым NSMutableDictionary

Единственный способ я нашел, чтобы исправить это, чтобы выполнить следующий блок сразу после словаря модифицируется:

идентификатор т = self.content; self.content = nil; self.content = t;

Несмотря на то, что я могу сказать, что это проблема KVC/KVO, я недостаточно опытен, чтобы знать, как исходить отсюда. Кто-нибудь знает более чистый, более похожий на какао способ справиться с этим?

ответ

0

Вызов

[tableView reloadData]; 

внутри делегата после того, как вы обновили данные. (Заменить "Tableview" с экземпляром NSTableView в делегата.)

См NSTableView Reference's reloadData

Edit: Я полагаю, для NSDictionaryController reloadData будет не слишком много. Проверьте http://www.cocoadev.com/index.pl?NSTableViewNotReloadingCorrectly.

Смежные вопросы