Re: mark added object in NSArrayController as "dirty"?
Re: mark added object in NSArrayController as "dirty"?
- Subject: Re: mark added object in NSArrayController as "dirty"?
- From: Matt Neuburg <email@hidden>
- Date: Thu, 28 Aug 2008 10:37:45 -0700
- Thread-topic: mark added object in NSArrayController as "dirty"?
On Thu, 28 Aug 2008 08:47:10 -0600, Keary Suska <email@hidden>
said:
>8/27/08 6:46 PM, also sprach email@hidden:
>
>> I've got a simple detail view backed by an NSArrayController. The view views
>> the NSArrayController's selection. The NSArrayController manages an array of
>> dictionaries, all very simple.
>>
>> I've implemented validateValue:... and it's being called when I want it to
>> be (thanks to "validates immediately"), except on this one occasion:
>>
>> The user can create a new object - the button calls add:, and I've
>> overridden newObject:. However, this new object is deliberately invalid;
>> some fields are blank, but the user must fill them in before leaving and
>> moving to another selection. That's the intention, anyway. The problem is
>> that that is not happening; the user can press the selectPrevious: button
>> without doing any editing, and no validation takes place. Obviously that's
>> because the user didn't do any editing!
>>
>> How can I fool the system into thinking the user has done some editing in
>> every field, so that when the user leaves this selection for another, every
>> field will be validated? m.
>
>AFAIK, you can't. And, AFAIK, simply entering a field is enough to trigger
>editing, so if you set the first blank field as as first responder,
>validation should be called on end editing. But just for that field,
>unfortunately.
Thanks (and your answer was extremely useful and confirmed my own further
experiments), but the problem is that I'm not even getting that. That would
be a reduced version of what I'd like to do, i.e. it would help me if I
could just fool the system into thinking that the user has edited any field
at all. Being *in* a field is not enough to do this; you have to *change*
the field. But I need to do this in a way that makes the system think the
*user* changed the field...
m.
--
matt neuburg, phd = email@hidden, <http://www.tidbits.com/matt/>
A fool + a tool + an autorelease pool = cool!
One of the 2007 MacTech Top 25: <http://tinyurl.com/2rh4pf>
AppleScript: the Definitive Guide - Second Edition!
<http://www.amazon.com/gp/product/0596102119>
_______________________________________________
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