Yes, thanks for posting these. I implemented a few classes in an attempt to do this same thing, but I think I'm going to switch to yours, in part because they're battle-tested, in part because I think you probably took a better approach than I did. (Mine uses selectors to callback to objects rather than protocols/delegates. Advantages and disadvantages to both, but because the protocol/delegate approach makes it easy to execute arbitrary code on an update, I think it's probably superior.)

Have you tried to tackle the problem of abstracting the task that happens just before this: a reusable property sheet that displays object properties, and when you click on the properties, it launches the appropriate one of your controller/editors? Or do you think these kind of property sheets resist re-use? (Sorry if my explanation is poor...)

I haven't tried to do that yet. It's certainly possible - Apple does something similar with the Settings Bundles, but it honestly never occurred to me to try. I may have to give it a shot when I have some time. Could make life much easier on larger applications.

What youre saying is completely true. I know that everybody must say the same thing, but I just think that you put it in a way that everyone can understand. I also love the images you put in here. They fit so well with what youre trying to say. Im sure youll reach so many people with what youve got to say.

MartianCraft Apparel

About Me

I'm a programmer, author, and one of the founders of MartianCraft, a software development shop doing both contract and in-house software development.
My iPhone books (both written with Dave Mark) are published by Apress. My first book, Beginning iPhone Development (currently in its 6th edition) is the all-time best-selling book on learning to program the iPhone and iPad.
I also sculpt and take pictures when I need to engage the other side of my brain a little more.