• 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
Quickie question on text edit cycle (and textDidEndEditing notification)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Quickie question on text edit cycle (and textDidEndEditing notification)


  • Subject: Quickie question on text edit cycle (and textDidEndEditing notification)
  • From: Luke Evans <email@hidden>
  • Date: Thu, 16 Apr 2009 16:23:17 -0700

Hello Cocoa listers.

What is the best/right way to obtain the context object for a piece of text that has been edited by the editing system (i.e. in a cell in NSOutlineView) once the textDidEndEditing notification is delivered to an observer?

This is the second or third time I have added text editors in controls where I've wanted to capture the final state of the editor to set it into an object (i.e. not doing this automatically with binding).
Each case has been a bit different. In this case I have a fairly straight-forward NSOutlineView and a custom cell really just to do some specific text editing stuff.


Pretty much everything is working fine - but unlike previous occasions when I have used the field editor, in this case once I get my "textDidEndEditing" notification, I need to find the object that the editor is representing in order to update a property. What I'm wondering is how this is _supposed_ to be done.

The actual notification of textDidEndEditing does not include much contextual information AFAICS. It does provide you with the NSText object that handled the editing, from which I can happily get the final text.
However, I'm not sure what the "best practice" is for obtaining the 'represented object' to which this text should be assigned. I've chosen to implement the notification method in my custom cell class, which works fine, but the instance of this cell appears is not initialised with outlineView:willDisplayCell:forTableColumn:item. Therefore the cell's representedObject is nil and I cannot use this way to get the context.


I could simply ask the control (the outline view) what the currently selected row is, and get the object to update from the arrangedObjects of my NSTreeController. This seems a very 'long way round' though. I suspect I'm simply missing some way to have the editing system remember a context object for me and pick it up later (but I don't see anything obviously doing this in the NSText interface, that I'm guaranteed to be able to obtain and use from the textDidEndEditing notification).

-- Luke



_______________________________________________

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


  • Prev by Date: NSView modifies CALayer's masksToBounds?
  • Next by Date: Re: Create folder in protected directory
  • Previous by thread: Re: [SOLVED] Re: NSView modifies CALayer's masksToBounds?
  • Next by thread: Create Library of Media File
  • Index(es):
    • Date
    • Thread