When creating UIs in IB I have often used buttons that have an action but there is no reason for the view controller to access this button.
The button text never changes, the button image never changes, it never moves, etc…
Because of this I don’t give it an IBOutlet property and I don’t connect it up to anything in the VC (other than the action of course).
There is a similar question on SO that I’ve read and the arguments on there go into memory management issues. That question is from early 2011, before ARC. Given that all my IBOutlet properties are weak anyway the memory is dealt with by their superview not by the view controller. So the issues mentioned in that question are now moot.
Is there a reason to connect them up now? Should they always have a connection? If so, why?
Short answer: no.
IBOutlets are needed to refer to elements of the UI.If you don’t need to access to such elements, you don’t have to connect them with a
IBOutlet