I'm using view-based NSTableView
and would like to allow users to edit text in place. Cocoa typically has superb support for this, but I am not sure how to bind the value of NSTextField
to one string while displaying a slightly different string to the user, as shown below. For example, when user clicks on a text field or presses enter key to edit, the field editor should only be filled with exportTest.zip
and not exportTest.zip Shared
, and whatever edit user makes should only affect the exportTest.zip
value as well. Can this be done using cocoa text?
Asked
Active
Viewed 323 times
1

Tony
- 36,591
- 10
- 48
- 83
2 Answers
1
Did you try to use an NSFormatter
? You could formulate the string Shared similar as you would do with a currency symbol. Your model simple stores the file name and Shared is part of the format.

JJD
- 50,076
- 60
- 203
- 339
-
I've tried using NSFormatter but then the field editor gets filled with the formatted string (eg exportTest.zip Shared) rather than the raw value. – Ira Cooke Jul 22 '13 at 20:32
1
This can easily be done with NSFormatter however just in case anyone else struggles as I did I thought I'd point out that in order to display a different string when editing you will need to override editingStringForObjectValue:

Ira Cooke
- 1,325
- 12
- 20