Well I feel a little dumb now. After lots of debugging and digging at values 
that looked correct everywhere, checking object creating again & again, and 
what not, It turns out I forgot to actually redraw the window:

[[[self loadingWindowController] window] display];

Everything worked all along :P

Mikkel

On Nov 30, 2010, at 6:39 PM, Mikkel Eide Eriksen wrote:
> On Nov 30, 2010, at 5:34 PM, Quincey Morris wrote:
>> On Nov 29, 2010, at 21:36, Mikkel Eide Eriksen wrote:
>> 
>>> I'm updating the objectCount property during readFromURL:ofType:error: - 
>>> could that be it?
>> 
>> No, that's a suitable method, but the question is whether it's running in 
>> the main thread or if the document initialization process got switched to a 
>> background thread for some reason. (That would only happen if you wrote code 
>> to make it happen.)
>> 
>> Previously, you logged 'addObserver:...' to establish that the observer of 
>> document.objectCount got registered. You could also trying to see whether 
>> "objectCount" notifications are being issued at all. Have some object (e.g. 
>> the loading window controller itself) manually observe the property and see 
>> whether the observer gets told when the property changes.
> 
> I just implemented - (void)observeValueForKeyPath:ofObject:change:context: on 
> my LoadingWindowController and registering as an observer of 
> MyDocument.objectCount. I do indeed get notifications if I do it this way.
> 
>> Another possibility is that you've (somehow) caused two document objects to 
>> be created. That sort of thing can happen when you [also] instantiate an 
>> object in a nib file that's normally created in code. Or it could be 2 
>> window controllers, or 2 windows.
> 
> 
> I also added some symbolic breakpoints to the -init methods of MyDocument & 
> MyLoadingWindowController but only one of each are created so it doesn't 
> appear there's a rogue object there.
> 
> 
> What about the Options: <New: NO, Old: NO, Prior: NO> below? As I read it, it 
> seems that MyLoadingWindowController registers the NSTextField of its nib as 
> an observer, but the text field doesn't want any values (ie no 
> notifications)? Or does that just mean that the the text field will call back 
> to MyDocument and grab the property for itself when/if it receives a 
> notification?
> 
> 2010-11-30 18:26:12.192 MyCoreData[57991:a0f] MyLoadingWindowController 
> addObserver:<NSTextValueBinder: 0x20026d680>{object: <NSTextField: 
> 0x200284240>, bindings: value=document.objectCount} 
> forKeyPath:"document.objectCount" options:context:
> 2010-11-30 18:26:12.192 MyCoreData[57991:a0f] MyDocument 
> addObserver:<NSKeyValueObservance 0x200256780: Observer: 0x20026d680, Key 
> path: document.objectCount, Options: <New: NO, Old: NO, Prior: NO> Context: 
> 0x20025ba80, Property: 0x2000f3ba0> forKeyPath:"objectCount" options:context:
> 
> Mikkel
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

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 arch...@mail-archive.com

Reply via email to