3

鉴于 iOS SDK 6.1 在 Xcode 4.6.3 中使用,IBAction在头文件中声明方法签名是否有所不同?

如果不将方法声明放在头文件中,应用程序仍然能够毫无问题地编译和运行。但是,该方法无法在情节提要中看到。

头文件中没有声明方法有什么隐藏的问题吗?内存消耗有区别吗?

4

3 回答 3

1

.h如果您想在故事板/interfaz 构建器中连接它,或者您想让其他类调用它,请仅在文件中声明它。

如果您只想将其设为私有并仅在您的类中使用它,则无需在头文件中声明它。

没有内存或性能差异。

于 2013-07-25T08:03:36.200 回答
1

方法的全部意义在于IBAction成为 Interface Builder 中的公共连接点(使用或不使用 Storyboard)。

这个词IBAction本身就是#defined as void。它的唯一目的(同样如此IBOutlet)是允许 Xcode 扫描您的代码并找到您的控制器需要通过 IB 连接视图的这些点。IBAction如果您以编程方式将控件连接到该方法,则不需要声明部分。

没有性能差异,但从语义上讲,IBAction在您的实现文件中放置一个并没有什么意义。有一个IBAction方法控制器通过该方法与外部对象通信,而这正是标题/公共@interface声明的用途。

于 2013-07-25T08:10:24.637 回答
0

即使您打算将它连接到界面构建器,它仍然没有在头文件中。我个人只是将它们直接放入实现文件中。

于 2013-07-25T08:07:58.607 回答