第一列有一个图像井和2个文本框,其他(同样,未知数字)是普通的文本框列.
该按钮打开文件打开对话框.一旦我选择文件(.jpg),我想处理它们.
到目前为止,所有内容都已制作(选择文件,列等).缺少的是填充表格:
我有循环遍历所有选定的文件.做这个的最好方式是什么:
>在第一个细胞的图像孔中显示图像,
>在第一个单元格的第一个文本框中键入文件名,
>在文本框的第二个单元格中键入文件路径,
>在所有其他列中键入“YES”.
我的困难在于我不知道会有多少列,因为它取决于用户.在运行时期间,列数不会更改.它们是在启动时根据配置设置的.如果配置已更改,则应重新加载应用程序.
我是Objective-C / Cocoa编程的初学者.
编辑:
要求的其他信息:
它是基于NStableVIEw的视图
每列表示必须在稍后的图像上拍摄的动作.程序用户可以决定要采取的 *** 作数量和数量,这就是表视图中未知数量的列的原因.
您的架构的其余部分(显示图像等)并没有特别改变“正常”代码,因为列已经动态添加.
这是一个可以帮助您入门的代码段:
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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)