• 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: NSTableCellView for view-based outline view
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTableCellView for view-based outline view


  • Subject: Re: NSTableCellView for view-based outline view
  • From: Seth Willits <email@hidden>
  • Date: Wed, 20 Nov 2013 09:52:45 -0800

On Nov 19, 2013, at 8:42 PM, Quincey Morris <email@hidden> wrote:

> Here’s something puzzling, unless I’m missing the obvious:
>
> I’m intending to convert an outline view in an existing xib file from cell-based to view-based. In preparation, I added the requisite delegate method to the view controller:
>
>> - (NSView*) outlineView: (NSOutlineView*) outlineView viewForTableColumn: (NSTableColumn*) column item: (id) item {
>> 	if (!item || !column)
>> 		return nil;
>> 	NSTableCellView* view = [outlineView makeViewWithIdentifier: column.identifier owner: self];
>> 	if (!view)
>> 		return nil;
>> 	return view;
>> }
>
> without changing the outline view itself. Somewhat to my surprise, this delegate method *was* called for the outline view, and had the effect of causing all of the cells to display no value. I repeat: the outline view was still cell-based at this stage.

There’s no setting need to make it cell or view-based. It’s determined simply by what delegate methods are implemented. It must simply be checking for view-based methods before cell-based. Nothing special.




> OK, ignoring that and moving on, I deleted the old outline view, added a new one, and set it to “view-based”. Now, I find that the result of creating the cell view in the delegate method:
>
>> 	NSTableCellView* view = [outlineView makeViewWithIdentifier: column.identifier owner: self];
>
> isn’t a NSTableCellView at all:
>
>> (lldb) po view
>> <NSView: 0x600000323b60>
>> (lldb) po [view class]
>> NSView
>> (lldb) po [view objectValue]
>> error: Execution was interrupted, reason: Attempted to dereference an invalid ObjC Object or send it an unrecognized selector.
>> The process has been returned to the state before expression evaluation.
>
> That’s weird problem #2. The table cell view item in IB has the default class (“NSTableCellView” in gray) in the inspector, but the outline view is not creating a cell view of that class. Huh? The consequence is that I can’t get a value into the text field of the cell view.

Did you set up the cell's identifier?




--
Seth Willits




_______________________________________________

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


  • Follow-Ups:
    • Re: NSTableCellView for view-based outline view
      • From: Quincey Morris <email@hidden>
References: 
 >NSTableCellView for view-based outline view (From: Quincey Morris <email@hidden>)

  • Prev by Date: NSTableCellView for view-based outline view
  • Next by Date: Re: NSTableView drag & drop string
  • Previous by thread: NSTableCellView for view-based outline view
  • Next by thread: Re: NSTableCellView for view-based outline view
  • Index(es):
    • Date
    • Thread