[OGo-Bugs][Bug 1990] WOKeyPathAssociation.m:937: A backsync raises the exception when there is no accessor (gnustep-port)

bugs@opengroupware.org bugs@opengroupware.org
Fri, 4 Jul 2008 10:41:34 +0200 (CEST)


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug
report.

http://bugzilla.opengroupware.org/bugzilla/show_bug.cgi?id=1990





------- Additional Comments From helge.hess@opengroupware.org  2008-07-04 09:52 -------
Bugzilla is not good for discussing things, please move that part to the mailing list.

The short story from my perspective is: OGo works with libFoundation AND it works very well with 
various Cocoa versions. Hence, the issue is an incompatible KVC implementation in gstep-base, which 
needs to be fixed.
I'm seeing occasional KVC keys issues on Cocoa, but they are always fixed easily.

The biggest difference between modern KVC and the approach OGo uses is that we often do not raise 
exceptions in the handleQueryForUnboundKey style methods, but just return nil. This behaviour is 
added to eg Cocoa using categories (by overriding the necessary methods).

Wrt to NSDictionary (and EOGenericRecord which is similiar). Its pretty easy, they return the values for 
the requested keys, instead of invoking object methods. No black magic here.

And finally WOKeyPathAssociation: this has an own, caching, KVC implementation for performance 
reasons. There is also a subclass which uses plain KVC (WOSystemKeyPathAssoc or something like that), 
but this should be much slower.

------- Additional Comments From Golovin.SV@gmail.com  2008-07-04 10:41 -------
> This behaviour is added to eg Cocoa using categories (by overriding the
necessary methods).

If i modify the last patch (the category for NSDictionary) with appropriate
#ifdef-constructions will it be accepted? Or should i go to gstep-base? :-) 

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.