discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Google SoC (KVO + Bindings)


From: Chris Farber
Subject: Google SoC (KVO + Bindings)
Date: Tue, 10 Jul 2007 15:14:10 -0400

Hi everyone!

I'm the Summer of Code student working on Key Value Observing and Bindings for GNUstep.

As things currently stand, I have finished the implementation of KeyValueCoding (which I believe Nicola has just committed) and am about 80 to 90% done with KeyValueObserving.

When I started working, KeyValueObserving was already partially implemented. I have filled in most of the holes, including implementing the willChange... and didChange... methods to properly store information about the change and send the proper change dictionary in the notification, updating KVO to properly obey +setKeys:triggerChangeNotificationsForDependentKey:. I have also implemented the mutableSetValueForKey: and mutableArrayValueForKey: methods of KVC to return appropriate collection proxy objects and updated them to automatically do KVO notifying, according to Apple's documentation.

As I work, I've been taking a close look at Apple's implementations with GDB and modeling my own implementation accordingly. For example, I found that for mutableArrayValueForKey:, Apple uses special proxy objects such as NSKeyValueFastMutableArray, NSKeyValueSlowMutableArray, and NSKeyValueIvarMutableArray depending on the circumstance, all of which inherit from NSKeyValueMutableArray.

My remaining work on KVO is essentially to finish up creating the NSKeyValueObservationForwarder chain so it can notify observers of key paths and look at performance. After this, I'll begin working on implementing Bindings.

Chris Farber






reply via email to

[Prev in Thread] Current Thread [Next in Thread]