Re: Proper place for functions in KVC paths?
Re: Proper place for functions in KVC paths?
- Subject: Re: Proper place for functions in KVC paths?
- From: Chuck Hill <email@hidden>
- Date: Fri, 25 Aug 2006 12:32:27 -0700
Hi Lachlan,
On Aug 24, 2006, at 5:57 PM, Lachlan Deck wrote:
On 22/08/2006, at 2:53 AM, Chuck Hill wrote:
On Aug 21, 2006, at 7:59 AM, John Huss wrote:
It seems that key-value coding allows serveral different ways of
using
functions (like @sum, @avg, etc) in key paths that all seem to work.
Like,
@sum.array.key.path
email@hidden
array.key.path.@sum
Is there a proper way to write these?
I am surprised that these all work. The NSArray documentation
implies :-) the that intended use is
<keyPath to array>@<operator>.<keyPath to value>
I think the api implies they all work and will have differing
outcomes depending on what you would like to 'sum' or 'count' etc.
e.g., Consider the keypath: 'company.people.accounts.totalLiability'.
If I want to know how much is owed in total:
Number total = ( Number )company.valueForKeyPath
( "@sum.people.accounts.totalLiability" );
I am curious if you have actually used this? If so, are you also
using Project Wonder? I believe that it adds quite some extensions
to KVC.
These operators are for NSArray (out of the box, sans Wonder) and it
appears that company is an EO, not an NSArray. Thus, I would expect
the above statement to produce a runtime error with an unknown key of
@sum.
If I would like to know how much each person owes:
NSArray totals = ( NSArray )group.valueForKeyPath
( "email@hiddenLiability" );
I am also unclear on how that would evaluate. people.valueForKeyPath
("accounts.totalLiability") should, I think, produce an array of
arrays. Is @sum able to handle that correctly?
Chuck
--
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems. http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden