iphone - IOS CS193p - 为什么 IBAction 连接被拖到 .m 文件而不是 .h?

标签 iphone objective-c ios cs193p

我注意到在斯坦福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/

相关文章:

iphone - 调整 UITextView 中文本的大小

objective-c - 这种编码风格有什么好处?

objective-c - 如何实现 makeKeyAndOrderFront :? 方法

html - 这是从 iOS 上的网站提取数据的合法/安全方式吗?

ios - 从 Nib 加载 UITableViewCell 子类时给出错误的类型

iphone - CGAffineTransform:UIButton 上的旋转调整按钮图像的大小

iphone - 带游戏中心的回合制多人游戏

objective-c - 不是 UIView subview 的按钮不起作用

android - iOS 到 Android 的 Json-RPC 方法

iphone - iTunes 不安装 .ipa 文件