English 中文(简体)
NSTable的海关单位 观点
原标题:Custom Cells in an NSTableView

如何用什么最佳方法在习惯细胞中填满可变的口号?

在我居住标准数据时,我总是利用科拉博尔语,我总是使用数据来源,使用习惯细胞。 我不禁要问的是,是否有办法将这两个概念混为一谈,以实现最佳设计。

可悲的是,使用X代码3(因此,IBPlugins)不是一个选择。

问题回答

我本人,t mix 约束数据和数据来源。 我只字不提,但试图这样做的痛苦。 我确实有几种办法可以帮助你。

我能够做的一件事是,在IB建立一个习惯小组,即IB所知道的一个囚室的底下

如果具有约束力的基于细胞的NSTableView,你通常将约束力放在一栏内,而不是放在一栏内。 如果您在表格一栏中使用一个定制的NSCell子级,你就会注意到,像<代码> 数值/代码”这样的约束性设备不再存在于该栏中,不同于单元是NSText FieldCell。 I ve试图通过设定“ tus与作为“NSText FieldCell”建立的“NSText FieldCell”具有约束力的“t”来欺骗IB,然后开关——约束在约束性检查员中仍然存在,但总是与这一错误发生故障:[<NSTableColumn 0x10252e910> Value Un Defin 关键:]:这一类别对于关键价值而言并不关键价值编码。

That brings me to the approach of subclassing one of the cells that IB knows how to bind to. I made a subclass of NSTextFieldCell, drilled-down to the "Text Field Cell - Text Cell" within the Table Column, and then set my custom subclass in the Identity Inspector. I was able to confirm that bindings still worked and IB still treats it like an NSTextFieldCell. From there, I could override any methods I wanted in my custom cell class and get custom behavior. I have no reason to believe that you couldn t do this with image cells as well. Naturally, this is kind of a bogus approach, but depending on just how "custom" your custom cells are, it might beat writing a bunch of custom code to hook up a data source.

我在进一步试验时发现,这是一个“国际投资银行问题”,实际上不是一个不可克减的意见/约束问题。 与此相对应的是另一种非常好的方式。

你们想要使用一个习俗单元,你们想要把它与某些任意的模型目标联系起来。 阁下 贴上国家宇宙航空研究公司的一份海关示范目标清单,每个物体都有一份财产,其贴上<编码>ForCustomCell,即不论海关单位需要做什么回报。 您将设立一个案文栏目(如IB中的缺省),然后对NSTableColumn对Array 主计长和“t”具有约束力的“代码>价值arrangedObjects,并输入模型关键路径代码。 此时,假定通过<代码>ForCustomCell退回的标本(如果您的遗嘱将坠毁,但与第2条无关)执行NSCopying(如果该标的,你会看到,NSText FieldCell将打电话-(NSring*)description,地址是,并将该文本放在手机上)。

现改为:-awakeFrom Nib 您本人的标语(NSView、NSViewController等)中的时间,取代数据Cell(如果你喜欢的话,标题Cell)。

- (void)awakeFromNib
{
    [super awakeFromNib];
    // Assuming you ve got your NSTableView plugged into an IBOutlet property called table
    NSTableColumn* col = [[self.table tableColumns] objectAtIndex:0];
    col.dataCell = [[[MYCustomCell alloc] init] autorelease];
}

由于这些约束在NSTableColumn,而不是囚室本身,你可以在不担心重拾任何束缚的情况下抽出牢房。 在您的海关单位类别中,压倒性-(ave)setObjectValue:和你暂时从约束性机制获得呼吁,在模型标语中推入“的标本,该标本与表格目前浏览量相对应。 (You ll还接到每间囚室的电话,但似乎可以忽视,或只是将其带上超级。)

这种做法的一个缺点是,你只得到NSText FieldCell具有约束力的“Value”。 这方面的工作是将这一价值约束在你的模型中更大/更高的“granule”,然后在你执行<代码>-setObjectValue:时,对其进行钻探和fan击。

它是完美无缺的,但它有两条法典,而不是法典固定线。

或者,假定你重新瞄准最近版本的MacOS,你也可以使用基于观点的NSTableView。 它们比以国家航天中心为基础的表格更明智地处理具有约束力的问题。 这种做法完全不同,因此很难说你的任务将如何规划。 great视频,在 Apple果开发商网站上播放,使你能够加快以NSView为基础的NSTableView。





相关问题
Taking picture with QTCaptureView

Is it possible to simply take a picture and save it somewhere using a QTCaptureView and Apple s built-in iSight? I ve seen lots of tutorials on recording video but none on simply taking a picture. Any ...

Controlling OSX windows

I m trying to control windows of a foreign OSX applications from my application. I d like to 1. move the windows on the screen 2. resize the windows on the screen 3. change the currently active window ...

objective-c: Calling a void function from another controller

i have a void, like -(void) doSomething in a specific controller. i can call it in this controller via [self doSomething], but i don t know how to call this void from another .m file. I want to call ...

NSUndoManager and runModalForWindow:

I have a simple Core Data app which displays a list of entities in the main window. To create or add new entities, I use a second modal window with a separate managed object context so changes can be ...

NSMutableArray values becoming "invalid"

I m trying to show a database information in a tableview and then the detailed information in a view my problem is as follow: I created a NSMutableArray: NSMutableArray *myArray = [[NSMutableArray ...

How to get a flash url in a webpage using a webframe?

As we know , When we load frame from webpage of safari, we will invoke the delegate methods of webkit informal protocol(WebFrameLoadDelegate): webView:didStartProvisionalLoadForFrame: webView:...