Re: With What does Apple Swizzle the IsA-pointer in KVO?
Re: With What does Apple Swizzle the IsA-pointer in KVO?
- Subject: Re: With What does Apple Swizzle the IsA-pointer in KVO?
- From: "Clark Cox" <email@hidden>
- Date: Fri, 23 Nov 2007 11:26:08 -0800
On Nov 23, 2007 10:09 AM, Philip Mötteli <email@hidden> wrote:
> Am 23.11.2007 um 17:23 schrieb Jean-Daniel Dupas:
>
> > Le 23 nov. 07 à 17:03, Philip Mötteli a écrit :
> >> Am 23.11.2007 um 15:54 schrieb Clark Cox:
> >>
> >>> On Nov 23, 2007 5:42 AM, Philip Mötteli <email@hidden>
> >>> wrote:
> >>>>
> > >>> Apple says, that it uses IsA-swizzling as the underlying
> > >>> technology to
> > >>> implement KVO.
> > >>> What are/is the class(es), which replace the original class of the
> > >>> observed object? Is it an NSProxy subclass? Different NSProxy
> > >>> subclasses, depending on the observed object? Is it a direct
> > >>> subclass
> > >>> of the observed object?
> > >
> > >
> > >> Perhaps I could provide more help if you
> > >> stated why it is that you think that you need to know this.
> > >
> > > I need to know, when an object has changed and I would prefer to
> > > reuse as much as possible, of what KVO already offers.
> > > Unfortunately, KVO is based on the internals of an object
> >
> > KVO is not based on the internals of an object (which is assumed to
> > be hidden), and it does not access hiddden internals. KVO is based
> > on KVC and uses accessors.
>
> In order to use KVO, you need to know this famous "key". The key is
> the name of an instance variable,
Not true, the key is the name of a property of the class. If the class
implements -key and setKey:, then KVC will never directly touch a
"key" instance variable (in fact such a variable need not exist).
--
Clark S. Cox III
email@hidden
_______________________________________________
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