1

我是可可的新手。我使用 NSArrayController 和 binding 成功创建了一个带有两个 colomns 的 TableView ,都包含文本。现在我想为自定义 TableView 实现相同的目标。我的 TableView 包含两个列,一个应该包含图像,另一个应该包含图像描述。我想使用 binding 填充我的表。谁能告诉我如何实现这一目标。

4

1 回答 1

0

请按照以下步骤操作:

在 Xib/Nib 文件中:

  1. 以 NSArrayController 为例。
  2. 取 NSTableView 并取两列。
  3. 在第一列拖动 NSImageCell,第二个将默认为 NSTextCell。
  4. 现在绑定:
    • NSObject 或 FileOwners 的第一个数组控制器。
    • 你的 mutablearray 到 arraycontroller 。
    • Tableview 第一列到数组控制器,其控制器键应为arrangesObjects,modelkeypath 应为img。
    • Tableview 第二列到数组控制器,其控制器键应为arrangesObjects,modelkeypath 应为desc。

(注意:在绑定到表列时,如果您使用 >10.6 操作系统版本,请选中一个选项立即验证)

在头文件中:

NSString *img;
NSString *desc;
NSMutableArray *arr;
IBOutlet NSArrayController *arrCont;
@property (readwrite,retain) NSString *img;
@property (readwrite,retain) NSString *desc;
@property (readwrite,retain) NSMutableArray *arr;

在实现文件中:

self.arr = [[NSMutableArray alloc] init];
NSString *imageName = [[NSBundle mainBundle] pathForResource:@"yourImageName" ofType:@"tiff"];
NSImage *photoImage = [[NSImage alloc] initWithContentsOfFile:imageName];
NSMutableDictionary *dc = [NSMutableDictionary dictionary];
[dc setObject:photoImage forKey:@"img"];
[dc setObject:@"noImage" forKey:@"desc"];
[arr addObject:dc];
[self setArr:arr];
于 2013-08-29T11:19:26.190 回答