Re: Connecting a custom control to manipulate NSArrayController's selection.
Re: Connecting a custom control to manipulate NSArrayController's selection.
- Subject: Re: Connecting a custom control to manipulate NSArrayController's selection.
- From: Scott Andrew <email@hidden>
- Date: Mon, 26 Mar 2007 14:54:29 -0700
Thanks i got. I need to learn to do a bit more investigation. I was
able to switch the index selection code out and make it resemble the
one in the GaphicBinding example. (which made sense them minute i
slowed down, destressed, and took the time). Thanks for the help.
Scott Andrew
On Mar 25, 2007, at 7:02 PM, mmalc crawford wrote:
On Mar 25, 2007, at 5:57 PM, Scott Andrew wrote:
I am using MUPhotoView for displaying a list of pictures. However
i have a bunch of my controls that update based on the selection
of the photo by connecting to the NSArrayContoller's "selection" key.
The selection is a proxy object:
<http://developer.apple.com/documentation/Cocoa/Reference/
ApplicationKit/Classes/NSObjectController_Class/Reference/
Reference.html>.
I have done the following:
[photoView bind:@"selectedPhoto"
toObject:imagesToExportController withKeyPath:@"selection"
options:nil];
i have then added the following:
-(NSObject*)selectedPhoto
{
return selectedPhoto;
}
-(void)setSelectedPhoto:(NSObject*)obj
{
[self willChangeValueForKey:@"selectedPhoto"];
selectedPhoto = [obj retain];
[self didChangeValueForKey:@"selectedPhoto"];
}
Nowhere in the documentation will you find an accessor method
illustrated like this.
For examples of correct ways to implement accessor methods, see
<http://developer.apple.com/documentation/Cocoa/Conceptual/
MemoryMgmt/Articles/mmAccessorMethods.html>
If you need to make an accessor method KVO-compliant, you may
include the KVO notification method invocations, however typically
this is not necessary:
<http://developer.apple.com/documentation/Cocoa/Conceptual/
KeyValueObserving/Concepts/AutoVsManual.html>
Moreover:
As my selection changes i call setSelectedPhoto. However i don't
get any updates in my other controls as my selection changes. How
do i update my array controller as my selection changes in the
control and have it post changes to the other controls
By sending it a suitable message (e.g. setSelectionIndexes:).
Please review <http://developer.apple.com/documentation/Cocoa/
Conceptual/CocoaBindings/Concepts/WhatAreBindings.html>.
Information is communicated model >> controller >> view using KVO,
but view > controller > model using KVC. Posting KVO notifications
from a view is generally not useful (WebView is an anomaly since it
combines the roles of controller and view).
For several examples, see <http://homepage.mac.com/mmalc/
CocoaExamples/controllers.html>; note in particular the
GraphicsBindings example...
mmalc
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden