More or less expected in hindsight. There's no value of the string
to set, instead I want to replace the string object in the array.
So... what do I do? Do I really need to make up a model object to
contain the string, just to use bindings here? There's absolutely
_no_ other data I need to associate with the string, so it'd really
be pointless otherwise.
Bindings are intended to work with model objects, so yes, you will
need to create a model object "to contain the string."
Think of it this way: The string probably isn't "just a string."
It stands for something -- for example, it could be the name of a
computer. While the name of a computer might be the only thing
worth displaying in that particular table, it doesn't mean that
you're not displaying the name *of a* computer.
An NSArray of NSStrings isn't mutable, so if you want to edit the
values you need to wrap your NSStrings in some sort of mutable
container that is KVC-compliant.
One way is to create an NSMutableArray of NSMutableDictionary objects,
each containing an NSString. You can then bind to the dictionary key
you've used to store the string and the NSArrayController will be able
to update your model object.