On 18 Sep 2008, at 11:44, Ken Thomases wrote:

1) If you for some reason find that using bindings with NSTableView is too restrictive, you might want to think about falling back to the pre-bindings way of populating a table view: the data source.
Yes, noted.

2)... If you implement the to-many indexed accessors, you can make a to-many property that works however you like under the hood.... in the comments at the declaration of -mutableArrayValueForKey: in NSKeyValueCoding.h. (Sadly, the documentation for that method doesn't seem to be correct/complete.)

Thank you Ken for pointing this out. I have now found this in thread the Archives. Was discussed here:

 http://www.cocoabuilder.com/archive/message/cocoa/2008/6/28/211487

3) You seem to be building a model which is based on an NSArrayController. (I.e. you tried to make your dates and emails properties by binding through the controller's arrangedObjects property.) This gets things backwards. Your model should not have any dependencies on your controller(s).

In a typical hierarchy and with those terminology which you were using:

Model (item) -> Model (array) -> Mediating controller (and possibly other mediating controller) --> Co-ordinting controller -> application.

I dont dispute the above is the correct way to build a Cocoa application.

It's possible that I misunderstood. Perhaps dates and emails are properties of your coordinating controller which you intend to be a synthesis of values from your model. That's OK. However, if you do that, then you still shouldn't base it on an NSArrayController. It should be based directly on your model plus some controller-level logic. Then, an NSArrayController could be built which presents that synthetic property to your view layer.

Well yes the presence of the arraycontroller is there for the tableview and to provide sorting on the array data. Its simply very convenient because of the good selection and sorting features provided by NSArrayContoller.

if either i did not need sorting, or was using the DataSource method you suggested in 1), then there would be fewer reason to use it. My needs are indeed rather specific and in this instance. I shall email you the source code code off-list.

In my opinion, a coordinating controller should not depend upon a mediating controller. It should be the other way around.
Yes, i agree.


Cheers,
Ken


_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to