Re: IBPlugin embedding question
Re: IBPlugin embedding question
- Subject: Re: IBPlugin embedding question
- From: Quincey Morris <email@hidden>
- Date: Thu, 25 Jun 2009 12:51:46 -0700
On Jun 25, 2009, at 11:33, Doug Scott wrote:
Perhaps there is something basically wrong in the way I'm making
IBPlugin projects
TBH, I think that there is. Two things:
1. You're insisting (as is your right) on using IBPlugin-based access
to your A-view in your development project for IBPlugin-B, and using
IBPlugin-based access to your B-view in your development project for
IBPlugin-C. That has superficial advantages, as you've stated, but
also has the immense drawback that you must develop 3 different but
overlapping plugins.
Consider the source code analogy. If you wanted to use class A in
project 1, subclass B of A in project 2, and subclass C of B in
project 3, but you *refused* to let the projects share source files,
then you'd have to duplicate source file A (for example) in each
project. Any changes you made to A, you'd have to make in 3 places.
The analogy is not exact, but I think it's instructive as to why you
seem to have too much updating to do.
2. The usefulness of IB plugins is greatest when you can develop the
plugin and use it in many projects (or even, have others use your
plugins in their many projects). If the plugins themselves are being
updated as often as the projects, there's no real value in using the
plugins at all. You're better off just copying and pasting, or just
configuring what you want directly in IB. With your setup, the plugins
and the projects are being updated about as often as each other.
Again, there's a superficial advantage to your current approach in
that when you do need to place an object via IB it's easy. Again, the
drawback is that you end up spending more time updating the plugins
than it's worth, relative to the time spent updating the projects that
use the plugin.
This is similar to the case with bindings. There's no point in
developing a binding to be used once -- it's far simpler just to write
code to observe whatever you want to observe. It's generally only
worth providing bindings when the bindings are going to be used many,
many times in IB.
If you place all of your views in a single plugin, all you'll lose is
the ability to drag an A-view or a B-view into the plugin project via
the IB palette, when building the B-view or C-view respectively.
Creating all the views "manually" in the plugin projects may be more
work than you want to do, but it sounds like it might be less work
than maintaining this IBPlugin hierarchy -- which clearly annoys you
enough to have caused you to post about it.
FWIW.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden