У меня есть приложение OS X, которое использует splitview с двумя встроенными NSTableViews.Изменение значения в одном табличном представлении должно изменить связанное значение во втором, но этого не происходит.
В нем используется CoreData с использованием привязки данных, а не клейкий код.Существует NSArrayController для каждого из TableViews.В первом окне отображаются ожидаемые данные в первом (слева TableView), а именно:
American Travel <-- selected
Browse All
Fiction
Science Fiction
Во втором (справа TableView) отображаются соответствующие данные для книг American Travel, а именно список книг Travel This.потому что второй набор контента контроллеров имеет значение:
leftController.selection.books
Это означает, что у меня есть TableColumns, привязанная к нужным данным.Я не вижу предупреждений, связанных с этой проблемой сбоя при обновлении второго TableView после нового выбора в первом TableView.Я полагаю, что Observer устанавливается автоматически системой, которая наблюдает за изменением выделения в левом ArrayController.
В инспекторе атрибутов для обоих проверенных ArrayController:
Avoid Empty Selection
Preserve Selection
Select Inserted Objects
Auto Rearrange Content
Привязка значения для одногоTableColumn of RightController - bookList
Bind to : RightController
Controller Key : arranged Objects
ModelKey Path : name
Мой вопрос:
У меня проблема в том, что данные в right / second / book_names не меняются, когда я меняю выбор в левой /first / book-types
TableView.Где я могу решить эту проблему?Я знаю, что это что-то очень маленькое, например, флажок.Я просто не могу его найти!
/// Begin Category.h
@class Book;
@interface Category : NSManagedObject {
}
@property (nonatomic, retain) NSSet * books;
@property (nonatomic, retain) NSString * name;// name of book_category
......
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ДОБАВЛЕНА 4/13/2011
I have added a button which is connected an action in the
LeftArrayController(Category) namely, selectNext: . When I click
the button, the selection in the CATEGORY TableView does not
visibly change, but the TableView on the right (Books) does change,
as the list of books on the Right continually changes.
If I click the TableView with the mouse, no selection change is done
either in effect on the RightTableView or in the visible
sense on the Left TableView. Why is the mouseClick not effecting a
visible change int the TableViewColumn? That is, why is the mouse
unable to change selection, whereas the button is able to.
There is only one column in the TableView. In Attributes Inspector I have
tried all combination of Empty,Column and Type Select for this single selection
Table. Is there no way around using NSTableView Delegate methods to set selection?