[SVN] r5967
Allan Odgaard
throw-away-1 at macromates.com
Mon Nov 6 18:29:41 UTC 2006
On 6. Nov 2006, at 17:55, Charilaos Skiadas wrote:
> On Nov 6, 2006, at 4:45 PM, Allan Odgaard wrote:
>> • it is now possible to bind the target of a control to the
>> controller key in the parameters object and set the selector to
>> returnArgument:… adding named arguments according to argument
>> bindings -- all arguments to this selector are then available in
>> the dictionary returned under the result key of the returned
>> property list.
> Does this mean we don't have to subclass File's Owner and add
> performButtonClick: any more?
It’s an alternative to performButtonClick:, so you can use it instead
-- though if you have a dummy.h file with these three lines:
@interface NSObject (Category)
- (IBAction)performButtonClick:(id)sender;
@end
And drag that to the nib window in IB, then the method is available
even w/o subclassing File’s Owner -- the new scheme is IMO a bit more
work to setup, but allows arguments to be passed to the action method
(which will find their way to the result returned).
The advantage of this is, that normally a control’s value can only be
bound to one controller. Previously we would bind to
NSObjectController, but for many controls, you really want to bind
them to the shared user defaults controller, i.e. so that they are
remembered for the next time the window is brought to front -- but by
doing that, they are no longer returned in the result.
With this new scheme it is possible to bind the arguments of the
action method also to the values stored in the user defaults.
Also, this is AFAIK the only way to hookup double clicks in table
views to an action.
More information about the textmate-dev
mailing list