I'm pretty sure I've got this worked out and it seems to be working, BUT I thought that before and when I turned on Auto Arrange Content on my NSArrayController's this bug popped up. So I wanted to make sure I'm doing this right.

I'm lazily initializing objects that are being read from a database, similar to CoreData faulting. In my RMDatabaseObject class I've implemented a willAccessValueForKey: method that reads in data from the database if necessary. This method is being called at the beginning of my willChangeValueForKey: and willChangeValueForKey:withSetMutation:usingObjects: methods.

Originally, for every property that was being set through the willAccessValue method I was calling the willChange/didChange methods and it seemed to work well. At least until I turned on auto-arrange content on some array controllers. After that I started getting exceptions stating that observer's were being removed more times than they had been added on seemingly random key paths.

I finally found a comment by mmalc and seconded by Ronzilla at http://theocacao.com/comment/4423 that seems to indicate that one should NEVER post change notifications when doing this sort of lazy-loading.

So, after all that, my question is this, is this correct? Or will I run up against something else later if I'm not issuing change notifications during my initial database row loading?


Ashley
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to