objective-c - 导入并包含在头文件中 - 什么时候可以?

标签 objective-c cocoa cocoa-touch

我读到规则是不 #import#include .h 文件中的任何内容。但这真的是真的吗?

就在今天,我遇到了两个不同的场合,我必须这样做,一个是我导入包含 typedef enum 的头文件,因为我的方法 stub 将其用作参数,另一个是我必须导入一个头文件来声明委托(delegate)。

此类情况的实际规则是什么?有时这样做可以吗?如果不行,我该如何做不同的事情?

最佳答案

没有硬性规定,但有时你确实必须这样做。如果您继承某些东西或需要协议(protocol)声明,您还需要执行此操作。

一般来说,我会将规则重申为“尽可能使用 @class 和 @protocol 的前向声明”。

关于objective-c - 导入并包含在头文件中 - 什么时候可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739141/

相关文章:

iphone - 子类化 UITableView 因此它不需要 xib

objective-c - 将文本字段中的数据插入 SQLite 数据库

objective-c - 如何正确处理在程序开始时创建并在程序结束时删除的CF对象

objective-c - 如何通过拖放文件来启动非基于文档的 Cocoa 应用程序?

iphone - 在 UIViewController 中在哪里初始化一些东西

iphone - NSDate 表示该月的第一天

ios - 导航 Controller 隐藏了我 View 顶部的 iAd 横幅

objective-c - 突出显示时 NSStatusItem 标题不更新

swift - 绑定(bind)到 NSToolbarItem 的 Cocoa 连接是否会阻止取消初始化?

iphone - TabBar应用、CoreData相关应用崩溃