objective-c – 使用未知列数填充NSTableView

objective-c – 使用未知列数填充NSTableView,第1张

概述我有一个NSTableview和一个按钮. NSTableview的列数未知. 第一列有一个图像井和2个文本框,其他(同样,未知数字)是普通的文本框列. 该按钮打开文件打开对话框.一旦我选择文件(.jpg),我想处理它们. 到目前为止,所有内容都已制作(选择文件,列等).缺少的是填充表格: 我有循环遍历所有选定的文件.做这个的最好方式是什么: >在第一个细胞的图像孔中显示图像, >在第一个单元格的 我有一个NStablevIEw和一个按钮. NStablevIEw的列数未知.

第一列有一个图像井和2个文本框,其他(同样,未知数字)是普通的文本框列.

该按钮打开文件打开对话框.一旦我选择文件(.jpg),我想处理它们.

到目前为止,所有内容都已制作(选择文件,列等).缺少的是填充表格:

我有循环遍历所有选定的文件.做这个的最好方式是什么:

>在第一个细胞的图像孔中显示图像,
>在第一个单元格的第一个文本框中键入文件名,
>在文本框的第二个单元格中键入文件路径,
>在所有其他列中键入“YES”.

我的困难在于我不知道会有多少列,因为它取决于用户.在运行时期间,列数不会更改.它们是在启动时根据配置设置的.如果配置已更改,则应重新加载应用程序.

我是Objective-C / Cocoa编程的初学者.

编辑:
要求的其他信息:

它是基于NStableVIEw的视图
每列表示必须在稍后的图像上拍摄的动作.程序用户可以决定要采取的 *** 作数量和数量,这就是表视图中未知数量的列的原因.

解决方法 您可以使用addtableColumn:以编程方式添加列.此方法采用您可以在代码中创建的NStableColumn实例.

您的架构的其余部分(显示图像等)并没有特别改变“正常”代码,因为列已经动态添加.

这是一个可以帮助您入门的代码段:

NStableColumn* tc          = [[NStableColumn alloc] init];Nsstring *columnIDentifIEr = @"NewCol"; // Make a distinct one for each columnNsstring *columnheader     = @"New Column"; // Or whatever you want to show the user[[tc headerCell ] setStringValue: columnheader];tc.IDentifIEr = columnIDentifIEr;// You may need this one,too,to get it to show.self.datatablevIEw.headerVIEw.needsdisplay = YES;

在填充表时,假设模型是NSDictionary对象的数组(在self.model中),它可能会像这样;

- (NSVIEw *)tableVIEw:(NStableVIEw *)tableVIEw vIEwFortableColumn:(NStableColumn *)tableColumn row:(NSInteger)row{     Nsstring *columnIDentifIEr = tableColumn.IDentifIEr;     NSDictionary *rowDict = [self.model objectAtIndex: row];     Nsstring *value = [rowDict valueForKey: columnIDentifIEr]; // Presuming the value is stored as a string      // Show the value in the vIEw}

更多在docs.

总结

以上是内存溢出为你收集整理的objective-c – 使用未知列数填充NSTableView全部内容,希望文章能够帮你解决objective-c – 使用未知列数填充NSTableView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1020732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存