【发布时间】:2014-03-13 11:13:06
【问题描述】:
我有一个包含 5 列的 NSTableView。其中一列具有 NSComboBoxCell。组合框填充了目录中一种类型的文件(例如 jpg)的名称。我按字母顺序将文件名保存在 NSArray 中。我用文件名数组填充组合框单元格,如下所示:
[assayCell addItemsWithObjectValues:(NSArray *)fileNameArray];
以前只有一种类型的文件,但现在同一个目录有多种类型的同名文件,例如。 image1.jpg 和 image1.png。我想在组合框中填充不带扩展名的文件名。具有不同扩展名的文件将以不同的颜色显示,例如。 jpg 文件将为黑色,而 png 文件将为绿色。
我对 cocoa/Obj-C 比较陌生,所以我找不到合适的方法来实现这一点。如何在数组中保留重复项?我应该使用 NSDictionary 来存储文件名及其扩展名,然后制作字典数组。在那种情况下,我将如何对我的数组进行排序?
请提出解决方案...
问候 阿比吉特
【问题讨论】:
-
使用 NSMutableDictionary 或等效的 NSMutableArray。
-
谢谢!唯一的疑问是我是否可以像排序 NSStrings 数组一样对 NSDictionary 数组进行排序。我将 NSStrings 数组排序为: NSArray *sortedArray = [assayNameList sortedArrayUsingSelector:@selector(compare:)];
标签: objective-c macos cocoa