所以您想让每一行显示相同的图像?这就是你“用手”设置的原因吗?为此,可以将InstableViewDataSource方法与绑定混合使用。想法是字符串列将像往常一样绑定,但图像列没有绑定。它有自己的标识符集(如“imagecolumn”)。然后,使用numberofRowIntableView:和tableView:objectValueforTableColumn:Row:提供数组控制器的对象计数(这样它具有正确的行数),并在它请求正确列的值(检查“ImageColumn”的ID)时总是返回静态图像,否则返回nil。
如果图像不是静态的(即,您希望将其用作某种指示器),则可以使用上面的方法(返回一些基于图像的值)或绑定。要使用绑定,可以将属性添加到数组控制器所持有的任何类中,例如“状态”(数字)。然后,您将使用一个自定义nsValueTransformer,将状态号转换为相应的图像。您的列将使用值转换器绑定到数组控制器的arrangedObjects.status(有关使用说明,请参阅nsvaluetransformer-您必须注册它,然后使用它的名称)。结果是列中对应于特定状态的图像。