Should I put IBActions in the header file or not?

后端 未结 3 1235
梦如初夏
梦如初夏 2021-01-21 01:53

Given that iOS SDK 6.1 is used in Xcode 4.6.3 , does it make a difference to declare the method signature of IBAction in a header file or not?

Without putti

相关标签:
3条回答
  • 2021-01-21 02:12

    Even if you plan to hook it up to the interface builder, it still doesn't have be in the header file. I personally just place them straight into the implementation file.

    0 讨论(0)
  • 2021-01-21 02:18

    The entire point of an IBAction method is to be a public connection point in Interface Builder (using Storyboards or not).

    The word IBAction itself is #defined as void. Its only purpose (and the same is true of IBOutlet) is to allow Xcode to scan your code and find these points where your controller needs to be wired up views via IB. You don't need the IBAction part of the declaration if you're programmatically connecting a control to that method.

    There's no performance difference, but semantically, putting an IBAction in your implementation file doesn't really make sense. Having an IBAction means the controller is communicating to an outside object via that method, and that's exactly what header/public @interface declarations are for.

    0 讨论(0)
  • 2021-01-21 02:20

    Only declare it in the .h file if you want to connect it in your storyboard/interfaz builder or you want to make it public for other classes to call it.

    If you just want to make it private and only use it inside your class, there's no need of declaring it in the header file.

    There's no memory or performance difference.

    0 讨论(0)
提交回复
热议问题