FROM : Ken Thomases
DATE : Fri Jun 06 23:51:45 2008
On Jun 6, 2008, at 4:16 PM, Adam R. Maxwell wrote:
> On Friday, June 06, 2008, at 02:07PM, "George Stuart" <george.<email_removed>
> > wrote:
>
>> The suggestion of using a keyPath of @"self" presents another
>> question:
>> 1) I assume NSSortDescriptor is using valueForKeyPath:, which in
>> turns calls valueForKey: some number of times, to get the object for
>> the keyPath I specified. Is it defined behavior that sending an
>> object valueForKey:@"self" will return the object itself?
>
> I always use self as the key path in cases like this, since -
> [NSObject self] is documented to return the receiver.
And, to complete the picture, the documentation for valueForKey:
describes how that method obtains the value for the key. The first
step in its search for key @"self" would be to look for the method
named "self".
> It has the advantage of working with objects other than strings.
Well, so does -description. ;) It just gives a different thing. That
is, -self always returns the receiver, while -description only returns
the receiver for an NSString, but always returns something (a string)
that may be useful for a given purpose (possibly even sorting).
Cheers,
Ken
DATE : Fri Jun 06 23:51:45 2008
On Jun 6, 2008, at 4:16 PM, Adam R. Maxwell wrote:
> On Friday, June 06, 2008, at 02:07PM, "George Stuart" <george.<email_removed>
> > wrote:
>
>> The suggestion of using a keyPath of @"self" presents another
>> question:
>> 1) I assume NSSortDescriptor is using valueForKeyPath:, which in
>> turns calls valueForKey: some number of times, to get the object for
>> the keyPath I specified. Is it defined behavior that sending an
>> object valueForKey:@"self" will return the object itself?
>
> I always use self as the key path in cases like this, since -
> [NSObject self] is documented to return the receiver.
And, to complete the picture, the documentation for valueForKey:
describes how that method obtains the value for the key. The first
step in its search for key @"self" would be to look for the method
named "self".
> It has the advantage of working with objects other than strings.
Well, so does -description. ;) It just gives a different thing. That
is, -self always returns the receiver, while -description only returns
the receiver for an NSString, but always returns something (a string)
that may be useful for a given purpose (possibly even sorting).
Cheers,
Ken
| Related mails | Author | Date |
|---|---|---|
| George Stuart | Jun 6, 10:43 | |
| Ken Thomases | Jun 6, 21:05 | |
| Andrew Merenbach | Jun 6, 21:26 | |
| George Stuart | Jun 6, 23:06 | |
| Adam R. Maxwell | Jun 6, 23:16 | |
| Ken Thomases | Jun 6, 23:51 | |
| Adam R. Maxwell | Jun 7, 00:53 | |
| Kyle Sluder | Jun 9, 05:15 |






Cocoa mail archive

