views:

34

answers:

1

Hello there,

I am pretty new to iphone programming therefore I apologize if my question could result trivial or obscure.

In many examples and tutorials I have seen that in the declaration of the outlets within Xcode (interface section of the view controller) the keyword "IBOutlet" is used or it is not, in conjunction with the class the outlet belongs to, apparently without a relevant difference.

e.g.

IBOutlet UIButton * myButton;

or

UIButton *myButton;

I have seen by myself in my experiments that both ways seem to work the same (provided that in both cases I set the proper connections in IB, and declare the property and synthesize it)

Anyone could tell me if there is a relevant difference and different behavior between the two statements?

Thank you

+3  A: 

IBOutlet is defined the following way:

#define IBOutlet

So it has no impact on the running code, and its only purpose is to allow Interface Builder automatically determine it while parsing class header. Without IBOutlet keyword in header you will need to declare it in IB Inspector's Identity tab to make it avaliable to be connected to interface elements.

Vladimir
Thank you very much