On 11/07/2008, at 7:46 AM, Jens Alfke wrote:

How do I set up key-value observing of an aggregate property over an array, like a sum?

Say I have a Bulb class with a boolean "lit" property. I have an NSArrayController with an array of Bulbs, being shown in a table view. To compute the number of lit bulbs I can do:
        - (unsigned) litCount {
return [_bulbArrayController valueForKeyPath: @"[EMAIL PROTECTED]"];
        }

Now if I want to display this count in my UI, I need to get notifications of when it changes. But what keypath do I observe? I've tried "[EMAIL PROTECTED]", and I don't get any exceptions, but the observer never triggers when I change the "lit" property of a bulb in the array.

I believe that should work without any problem so long as you're not adding or removing elements from the array using addObject, removeObject or any of the other primitives (you have to modify the array in a different way if you want that to work). If you're simply modifying the property of an existing element, I believe it should work. Can you post a test case?

--Chris

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to