If the table view's data is related to the document, you should keep this
in the document.  Putting it in a category when the class is fully under
your control seems a bit odd, but you may have a reason for that.  You
should look at your reservations, though.  You're wanting to hook up a
"data source" and you're feeling it's too much "view-ish" code for your
"data model."  Your "view-ish" code may be saying your design needs
changing.  Consider transformers or formatters if appropriate.  Also,
view-based tables and collection views open things up to more richer
representations that may not require your "view-ish" code.

Your separate, standalone object may be a good solution, too, but think of
the has-a, is-a, or uses relationship between your document class and it,
and that might help you know who owns your data.
--
Gary L. Wade
http://www.garywade.com/

On 9/5/2012 5:39 AM, "Jerry Krinock" <je...@ieee.org> wrote:


>What is the best the data source for a table view in a document window?
>The
>candidates are?
>
>(1)  Category of the document.  This is the way it is done
>in the WithoutBindings ("With and Without Bindings") Apple sample code.
>But
>it seems like too much "view-ish" code in the data model, particularly
>when
>my document class is also used in a GUI-less command-line tool, which has
>no
>need for this code.
>
>(2)  Separate, standalone object.  Fancy housekeeping
>is needed to avoid retain cycles, and crashes in corner cases as the
>document window is closing.
>
>(3)  Category of the window controller.
>Probably not a bad choice, except that my window controller for this
>multi-tabbed window is already huge.
>
>(4)  Category of the table view
>itself, assuming that it is subclassed.  Seems like a logical division.
>No
>worrying about whether table view or its data source gets deallocced
>first.
>Access the document via [[[self window] windowController] document].
>
>* *
>*
>
>I've used (2) but think I'm going to switch to (4).  Any important
>considerations I've
>overlooked?
>
>Thanks,
>
>Jerry


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to