NSTableView 绑定到 NSArrayController
Posted
技术标签:
【中文标题】NSTableView 绑定到 NSArrayController【英文标题】:NSTableView bound to NSArrayController 【发布时间】:2010-04-23 14:43:19 【问题描述】:在 Interface Builder 中,我有一个 NSTableView,其中两列绑定到一个普通的 NSArrayController。 NSArrayController 将其内容数组绑定到我的应用程序委托中的 NSMutableArray。我使用了更多的绑定来通过绑定设置行的添加和删除(魔术!)。
我现在遇到的问题是我想获取当前选择的 NSTableView 行并使用它的索引来查找存储在我的 NSArrayControllers 关联数组中的对象。我遇到的问题是尝试访问 NSTableView。
在我的应用程序委托中,使用以下代码将导致我的应用程序崩溃:
NSLog(@"%@", [timersTableView selectedRow]);
同样,这也会导致我的应用程序崩溃:
NSLog(@"%@", [timersController selectionIndex]);
鉴于上述代码的简单性,我一定是做错了什么?
【问题讨论】:
【参考方案1】:-selectedRow 和 -selectionIndex 都返回一个 NSInteger,它只是一个原生宽度的整数,而 %@ 格式字符串说明符用于打印对象。如果要打印 NSInteger,请将其替换为 %ld。
【讨论】:
你当然是完全正确的。多么愚蠢的错误!从好的方面来说,我阅读了 %@ 格式字符串说明符的操作方式。以上是关于NSTableView 绑定到 NSArrayController的主要内容,如果未能解决你的问题,请参考以下文章
将 NSTableView 绑定到两个不同数据源的最佳方法?
NSArrayController NSTableView 核心数据绑定整数
(OS X) 以编程方式绑定的 NSTableView 不显示值
当项目更改时,CoreData 绑定的 NSTableView 会失去输入焦点,但前提是已排序