All properties are created manually using the @property declaration. In the latest objective-C you don’t need to add the @synthesize declaration any more. As for IBOutlets, they don’t do anything. In fact, IBOutlets are expanded to nothing. They are just passive tags so that Interface Builder can locate the properties that it can associate objects to.
So in your example above, you can associate a UIButton created in Interface Builder to btnEnter, because Interface Builder knows about it, and the reason it knows about it is because of the IBOutlet, which means nothing in the actual code.
So if you are creating a hierarchy of interconnected objects as you would do for interfaces in Interface Builder, all the properties need to have the IBOutlet tag.
solved Creating properties in iOS [closed]