Если -reloadData
вызывает пляжный мяч, это почти наверняка означает, что что-то не так с реализацией протокола NSTableDataSource
вашего контроллера. Вы должны выяснить, почему это происходит, и исправить это. Если вы опубликуете исходный код данных таблицы, возможно, мы поможем вам понять, почему это так.
Я настоятельно рекомендую вам ознакомиться со "стандартными" NSTableView
источниками данных и методами делегирования, прежде чем даже смотреть на привязки. Привязки какао - это довольно продвинутая тема, и, похоже, вам нужно больше основополагающих навыков работы с какао, прежде чем переходить к привязкам.
Тем не менее, эта страница содержит полный набор примеров привязки какао:
http://homepage.mac.com/mmalc/CocoaExamples/controllers.html
Обновление с момента публикации вашего кода:
Я должен предположить, что вы сознательно исключили реализацию методов источника данных в приведенном выше коде, поскольку код, который вы опубликовали, не будет компилироваться без предупреждений.
Ваш метод автообновления представляет собой бесконечный цикл. Это объяснило бы пляжный мяч. Вы устанавливаете i
в 1 на каждой итерации цикла, что означает, что конечное условие никогда не достигается.
Однако использование цикла for
, подобного этому, является ужасным, ужасным способом обновления табличного представления и блокирования основного потока. Если вам необходимо регулярно обновлять табличное представление, используйте NSTimer
, который вызывается через указанный интервал.