Re: Cocoa Bindings and popups
Re: Cocoa Bindings and popups
- Subject: Re: Cocoa Bindings and popups
- From: Scott Anguish <email@hidden>
- Date: Mon, 19 Jul 2004 02:07:20 -0400
where is the initial data coming from for the popup list? from
defaults by chance?
On Jul 19, 2004, at 1:23 AM, Chuck Musser wrote:
I implemented these six methods, to no avail:
- (NSMutableArray *)rideDescriptionList;
- (void)setrideDescriptionList:(NSMutableArray *)newList;
- (unsigned)countOfrideDescriptionList;
- (id)objectInrideDescriptionListAtIndex:(unsigned)index;
- (void)insertObject:(id)theObject
inrideDescriptionListAtIndex:(unsigned)index;
- (void)removeObjectFromrideDescriptionListAtIndex:(unsigned)index;
Before I implemented them, adding an item to the array never printed
any messages out on the console when I debugged it. You'd think that
it would get a "no selector found" or something when I added new items
to my array. Now that the methods *are* implemented, the application
still behaves the same way. The only thing I can conclude is that I
didn't affect the area that's broken. It's like the all the
connections aren't in place, so these methods aren't even being
invoked.
I am a hazy on several things:
1.) The values to fill in the Bindings area. In the RideList object
(this is the NSArrayController), the contentArray binding looks like
this
Bind to: PostAlias (this is the NSObjectController)
Controller Key: selection (what does this mean?! I don't understand
the meaning of "selection" in this context.)
Model Key Path: rideDescriptionList (this is the instance variable in
my main controller object PostController), which is the "real"
controller object that the PostAlias "content" outlet points to.
Does this look right?
2.) In the Attributes inspector for my NSArrayController, there are
two keys: label and rideDescriptionList. What are these keys? I don't
remember putting them in this list directly.
3.) In the Attributes inspector for my NSObjectController, the Object
Class Name is NSMutableArray; in my NSArrayController, it's
RideDescription. Given that my list is an NSMutableArray of
RideDescription objects, are these settings appropriate.
4.) I copied the ArrayController --> PostAlias --> PostController
arrangement from an example program because it was convenient AND
because I couldn't bind the array controller directly to the
PostController (it didn't show up in the Bind To: list, probably
because PostController isn't an NSObjectController or a subclass
thereof). I did try to subclass NSObjectController and use that
subclass as my main controller object, but Interface Builder didn't
let me instantiate it! The "Instantiate" menu item was grayed out.
I guess my point is that my architecture might just be wrong. Have I
structured this the right way or do I need to architect this a
different way?
Thanks,
Chuck
It could be that you need to make your accessor methods for
rideDescriptionList Key-Value Coding compliant.
http://developer.apple.com/documentation/Cocoa/Conceptual/
KeyValueCoding/Concepts/Compliant.html
This would mean that in your content objects for PostAlias you have
methods like this:
- (unsigned)countOfRideDescriptionList
{
return [rideDescriptionList count];
}
- (id)objectInRideDescriptionListAtIndex:(unsigned)index
{
return [rideDescriptionList objectAtIndex:index];
}
and likewise - (void)insertObject:(id)theObject
inRideDescriptionListAtIndex:(unsigned)index and
(void)removeObjectFromRideDescriptionListAtIndex:(unsigned)index
Although it says you can just return a mutable array, I've found if
you have other controllers observing the array they work by
observing these methods.
Hope that helps,
Steve
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.