RE: Help with NSArrayController, NSTableView and NSOpenPanel
RE: Help with NSArrayController, NSTableView and NSOpenPanel
- Subject: RE: Help with NSArrayController, NSTableView and NSOpenPanel
- From: "Kamrin Dahlin" <email@hidden>
- Date: Fri, 23 Jun 2006 14:58:30 -0700
- Thread-topic: Help with NSArrayController, NSTableView and NSOpenPanel
Hey George,
Just wanted to tell you that I finally got this working.
I created a File class to represent the individual files of the directories I am interested in, and then created another NSArrayController to manage those. I followed the MailDemo again, exluding the NSObjectController and this time it all worked as expected.
The only thing I still don't understand is why I have to programmatically add my DirectoryModel objects to my first NSArrayController. After I select the directory I am interested in and hit OK on the NSOpenPanel, I have to run through a loop that creates my DirectoryModel objects and then makes the [arrayController addObject:dirModel] call. I am sure there must be away to do this with bindings, but I haven't found it yet. I was hoping that by simply creating my DirectoryModel objects that KVO would handle adding their values to the first NSTableView through the first NSArrayController, but maybe it doesn't work that way.
Again, thx for the help -- nice to know that us newbies out here have people willing to lend a experienced hand.
Regards,
kam
-----Original Message-----
From: George Orthwein [mailto:email@hidden]
Sent: Fri 6/23/2006 11:47 AM
To: Kamrin Dahlin
Cc: email@hidden
Subject: Re: Help with NSArrayController, NSTableView and NSOpenPanel
You can achieve what you want by following the MailDemo example...
instead of Mailboxes and Emails, you have directoryModels and
directoryContents, so create another NSArrayController to manage the
directoryContents array (set it up like the Emails controller).
http://cocoadevcentral.com/downloads/MailDemo-000084-end.zip
http://cocoadevcentral.com/articles/000084.php
But now I'm confused as you about your original question. Take the
MailDemo example... I played around with it and I can't figure out
why this binding for a table column doesn't work:
Mailboxes->selection->emails.properties.address
When this line in the controller gets the array fine:
NSLog(@"log: %@",[mailBoxController
valueForKeyPath:@"selection.emails.properties.address"]);
Apparently, "mailboxes.selection.emails" is KVO compliant, but
"mailboxes.selection.emails.properties" is not.
I don't know enough to explain exactly why. Maybe someone can clear
this up and we'll both learn something. :)
George
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden