我有一个OS X应用程序,它使用带有两个嵌入式NSTableViews的splitview。更改一个表视图中的值应更改第二个中的相关值,但这不会发生。
它使用数据绑定而不是粘合代码来使用CoreData。有一个 每个TableView的NSArrayController。初始窗口 在第一个(左侧TableView)中提出了预期的数据:
American Travel <-- selected
Browse All
Fiction
Science Fiction
美国旅游书籍的相应数据 出现在第二个(右表TableView),即旅行书籍列表 这是因为第二个控制器内容集设置为:
leftController.selection.books
这意味着我将TableColumns绑定到正确的数据。 我没有看到任何与此问题相关的警告 无法更新新的第二个TableView 在第一个TableView中选择。我相信观察者是 由系统自动设置,观察变化 在Left ArrayController中选择。
在两个ArrayController的属性检查器中,选中的是:
Avoid Empty Selection
Preserve Selection
Select Inserted Objects
Auto Rearrange Content
RightController的单个TableColumn的值绑定 - bookList
Bind to : RightController
Controller Key : arranged Objects
ModelKey Path : name
我的问题:
我遇到的问题是右/秒/ book_names中的数据 当我更改left / 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?
答案 0 :(得分:0)
这是用户错误的一个案例。我的DataModel中有错误。实体有关系 作为类NSSet *属性的替身。其中一个关系被设定为 1比1,需要1比1。这两张桌子现在正在工作!! 非常感谢那些读这个的人。我知道我犯了一些愚蠢的错误, 当我没有收到任何评论。我希望这有助于将来的某个人。
标记