What’s new in Interface Builder 3.2

From Interface Builder 3.x, it seemed to me that Apple people wants to separate Xcode and Interface Builder more strictly. One major difference between IB 2.x and 3.x was that you are not supposed to create objects with IB anymore. You should create an object using Xcode, then IB recognizes the object. Also, creating IBOutlet is also recommended to be done from Xcode side, although you can still make IBOutlets with IB.

Now, with IB 3.x, today I noticed big changes there.

First it supports “User defined runtime attributes”. It is like to set properties of objects within IB. Then when an NIB/XIB is loaded, the default values for those properties are set to the ones set using the IB.

Second, you CANNOT create IBActions, or action handlers using IB anymore! NOT ANYMORE!!!!!
If you can’t believe me, take a look at this.


So, now you should memorize this pattern.

- (IBAction)doSomething:(id)sender

3 responses to this post.

  1. It’s OK: They are still there, they’ve just been moved. If you look in the library pane, and choose the “Classes” tab, you can scroll down to find your class and then add actions and outlets just as before.


    • Posted by jongampark on November 1, 2009 at 9:03 AM

      Thank you, bonaldi.
      I wrote a new post on this.
      Probably people at Apple wanted to differentiate “class” and “object” for this.


  2. […] Builder 3.2 – II 1 11 2009 OK. Mr. bonaldi left a comment to my previous post, What’s new in Interface Builder 3.2. According to him, it is moved to “Library” tab of “Library” window. […]


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: