我注意到在斯坦福CS193p类(class)的计算器演示中,IBOutlet连接被从标签拖到头文件中。但是,IBAction 连接是直接在 .m 文件中创建的。我尝试通读文档并在 Google 上进行搜索,但找不到这背后的原因。
我认为 IBAction digitPressed 方法也应该在头文件中声明(它不应该是接口(interface)的一部分吗?)。
我显然是 Objective C 的新手(主要使用 Java),所以我确信我缺少一些基本的东西。
谁能解释一下?
最佳答案
在类的头文件中声明事物会使它们成为公共(public)接口(interface)的一部分。这包括在 View Controller 上定义的导出和操作。
某事是否应该公开是一个设计问题。一个好的原则是:只有在必须的时候。对于 ViewControllers socket 和操作,通常情况下,它们不必 - 因此不应该 - 公开。
通常发生的情况是,您预先猜测公共(public)接口(interface)应该包含什么,然后(如果您是一个整洁的开发人员)当实现成熟时您会再次查看并删除任何无关紧要的内容。
关于iphone - IOS CS193p - 为什么 IBAction 连接被拖到 .m 文件而不是 .h?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003366/