考虑到XCode4.6.3中使用了iOS SDK6.1,在头文件中声明IBAction的方法签名是否有区别?
在不将方法声明放入头文件的情况下,应用程序仍然能够编译和运行,而不会出现问题。然而,这种方法不能在故事情节提要中看到。
是否存在未在头文件中声明该方法的隐藏问题?内存消耗有差异吗?
发布于 2013-07-25 08:10:24
IBAction方法的全部要点是成为Interface中的公共连接点(不管是否使用故事板)。
单词IBAction本身是#defined作为void。它的唯一目的(IBOutlet也是如此)是允许Xcode扫描您的代码并找到控制器需要通过IB连接视图的这些点。如果要以编程方式将控件连接到该方法,则不需要声明的IBAction部分。
性能没有差别,但在语义上,在实现文件中放置IBAction并不真正有意义。拥有IBAction意味着控制器通过该方法与外部对象通信,而这正是头/公共@interface声明的目的所在。
发布于 2013-07-25 08:03:36
只有在您想要将它连接到您的故事板/interfaz构建器中,或者您想让其他类调用它时,才在.h文件中声明它。
如果您只想使其私有,并且只在类中使用它,则不需要在头文件中声明它。
没有记忆和性能上的差异。
https://stackoverflow.com/questions/17852287
复制相似问题