NSArrayController绑定NSTableView的方法

NSArrayController绑定NSTableView的方法

1.在File’s Owner中創建NSMutableArray *employees

这里就是在某个class文件中创建一个NSMutableArray对象,而且要对这个employees初始化。

2.拖NSArrayController到Object的列表

NSArrayController操作,对拖进来的NSArrayController有两步操作:

第一,即是NSArrayController,那么必然有对应的Array 对象,所以首先是绑定对应哪个NSMutableArray的对象

操作:在NSArrayController 的 Binding inspector 中,Controller Content點選content array設置Bind to, 选择File’s Owner,在Model Key Path中填入1中Array的名字。
①选择File’s Owner:要绑定的数组对象所在的文件名,通常一个文件一个class,所以不用拘泥于“File’s Owner”这样的字符表述,灵活掌握
②在Model Key Path中填入1中Array的名字:这里就是实际绑定的NSMutableArray的变量名字
这一步的操作,其实是将NSArrayController的控制内容绑定为某个class中的某个array对象。

第二,NSArrayController最终控制的是NSMutableArray中的元素,所以要怎么能取到array中的元素,就要在设置相应的class name和元素对象的变量名。

操作:設置Attributes inspector->Object Controller, Mode選擇Class, Class Name填寫次array中object的類名字, 在 Keys中添加Object中需要現實的變量名字

这一步,其实是通过KVC(KVC是Key-value coding 键值编码的简称中的访问/设置方法,去操作Array中的对象

访问:-(id)valueForKey:(NSString *)key;

修改:-(void)setValue:(id)value forKey:(NSString *)key;

所以,这里才要设置,Array中所存储的对象的属性的操作的key

3.拖NSTableView到nib中

NSTableView操作,对拖进来的NSTableView有两步操作

第一,将NSTableView设置为cell-based (NSTableView->Attributes inspector->TableView->Content Mode选择即可) View based模式貌似不支持!!!

第二,點選table的一列,在Binding inspector->Value中點擊設置Bind to,Controller Key設置為arrangedObjects, Model Key Path設置3步中的Object變量名字(即设置当前选中的table view列,要显示Array中的对象的那个参数的值)

4.拖动Button,关联Acttion到NSArrayControler的Add和Remove动作等,实现自动操作。

   需要访问时,可从employees中找到TableView中所有的对象。


总结:NSArrayController绑定NSTableView的方法
1.在class文件中創建NSArrayController要控制的数组对象,如NSMutableArray *employees
2.拖NSArrayController到Object的列表,并设置bind Controller Content对象到名字为employees的Array,同事设置操作Array中元素的class和属性值keys(KVC)
3.拖NSTableView到view 列表,设置为cell-based模式,每列绑定一个keys

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

auspark

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值