• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSOutlineView multi cell type binding query
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSOutlineView multi cell type binding query


  • Subject: Re: NSOutlineView multi cell type binding query
  • From: Corbin Dunn <email@hidden>
  • Date: Wed, 06 Oct 2010 08:28:35 -0700

Quincey pretty much got it right. Here's what happens:

Table needs a cell (to draw, edit, type select, etc).

It calls -preparedCellAtColumn:row: -- this is a public funnel point, and can be overridden. Some examples on the dev site do this.

preparedCellAtColumn:row does this, in this order (which may change slightly from release to release):
* Return the tracking or editing cell (which was copied), if it is that given row/column. No modifications to the cell are done.
* Acquires a cell, via: 1. Asking the delegate, 2. if nil, call [tableColumn dataCellForRow:] (this returns what was set in the nib)
* Sets the object value, as returned from the datasource (if applicable)
* Calls into bindings to fill up the cell with bound data; this potentially overwrites the objectValue
* Sets properties on the cell, such as highlighted, backgroundStyle, showsFirstResponder
* Lastly, calls -willDisplayCell, where you get a chance to overwrite any values set by the tableview.

corbin


On Oct 6, 2010, at 3:50 AM, email@hidden wrote:

>
> On 6 Oct 2010, at 11:29, Quincey Morris wrote:
>
>>
>> This all means that anything you choose to configure in #1 may or may not still be in effect by the time you get to #2, but that's an implementation detail on which you cannot rely, because there's no API contract that anything is kept.
>>
> This seems to be an inescapable conclusion. I can configure certain aspects of the cell in #1 but seemingly not others.
> Perhaps the cell copying on edit/tracking that Corbin referred to has an influence here.
> But as you say, it's all dependent on the opaque detail of the implementation.
>
>>
>> In many cases, #1 and #2 will be called in lockstep pairs, so it might seem that you could configure your cell in either place. However, because the delegates have separate purposes, configuration should be reserved for #2 only.
>>
> I agree. Identify the cell type in #1.
> Configure it in #2.
>
> Thanks for taking the time to help clarify my murky thoughts on this.
>
> Regards

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >NSOutlineView multi cell type binding query (From: "email@hidden" <email@hidden>)
 >Re: NSOutlineView multi cell type binding query (From: Quincey Morris <email@hidden>)
 >Re: NSOutlineView multi cell type binding query (From: "email@hidden" <email@hidden>)
 >Re: NSOutlineView multi cell type binding query (From: Corbin Dunn <email@hidden>)
 >Re: NSOutlineView multi cell type binding query (From: "email@hidden" <email@hidden>)
 >Re: NSOutlineView multi cell type binding query (From: Quincey Morris <email@hidden>)
 >Re: NSOutlineView multi cell type binding query (From: "email@hidden" <email@hidden>)

  • Prev by Date: Re: JDBC from Cocoa or the like
  • Next by Date: Re: NSImage is Caching
  • Previous by thread: Re: NSOutlineView multi cell type binding query
  • Next by thread: Unable to play a .mp3 file directly using QTMovie
  • Index(es):
    • Date
    • Thread