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 protected])

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