On 10/11/2009, at 8:04 AM, Oftenwrong Soong wrote: > In the MVC style, I want to avoid connecting directly between a view and a > model. However I have a custom NSView subclass that renders a graphical view > of the model and therefore it needs information from the model. I think it is > considered bad practice to put a pointer to the model directly in my NSView > subclass. However how can this type of coupling be avoided if the view needs > the information?
I struggled with this for a while, but you just need to look at some of the built-in complex views to see how this can be done. In particular, have a look at the datasource and delegate methods for NSTableView, for instance. The view publishes protocols which a controller object can use to control how the view is displayed. You can do exactly the same thing for your own custom view. You use the controller object to supply the view with the information that it needs to be able to draw representations of your model objects. -- Rob Keniger _______________________________________________ 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