Quincey and Graham have hit it exactly: as of IB 3, we encourage you to manage all of your classes in Xcode. Interface Builder always stays in sync with your Xcode project files. (however, we still support the ability to do this in IB, so if you do find a bug with that workflow, please file it)

I did want to clarify a few things from Quincey's email:

In IB, you added a "onClick:" action to *class* NSObject. Then you added one to *class* NSObjectController. IB is dutifully remembering exactly what you told it.
Exactly. Interface Builder keeps a map of classes to actions and outlets. When you add an action to an object in IB, you are really just adding it to the class the object represents, not the object itself. We are well aware of this seemingly strange workflow of needing an instance of the class to add actions and outlets, so no need to file a bug report here.

When you connect the button's action to your NSObjectController object, because it's also a NSObject, you have a choice of the two actions as your destination, one from each class. Maybe that's a bug, maybe that's an oversight, maybe that's just how an edge case happens to work, or maybe that's how it works for a genuine reason. I don't know.
This is also a known bug.

It wouldn't hurt to submit a bug report about this -- IB certainly isn't doing a very good job of letting you know what's going on in this situation -- but I wouldn't be surprised if the answer was "works as intended".
You should always be submitting bug reports when you find things that not only don't work, but also workflows that don't make sense. We love developer feedback!

Kevin

_______________________________________________

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 arch...@mail-archive.com

Reply via email to