最佳实践和基本原理:#import in .m 或 .h

2024-01-28

在 Objective-C 中将 #import 语句放在 .m 文件而不是 .h 文件中的理由是什么?

Apple 示例将它们捆绑在 .m 文件中,除非在接口声明 (.h) 中使用对象,并且文档声明这是正确的(“在接口文件中,首先导入任何所需的头文件。”)

让我困惑的是 .h 应该定义实现的接口,因此 #import 逻辑上会转到 .h 文件而不是 .m。


如果你把你所有的#imports 在头文件中,那么两个类就不能相互依赖,因为一个文件不能导入另一个导入它的文件。如果你把#import另一方面,在实现文件中,问题就消失了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最佳实践和基本原理:#import in .m 或 .h 的相关文章

  • 如何从通讯录 ios 以编程方式编辑电话号码值

    我正在尝试在 iOS 中以编程方式替换特定联系人的特定电话号码 获取联系人表单地址簿 我不知道为什么我无法保存新的电话号码并刷新地址簿以显示更改 我正在这样做 BOOL changeContactPhoneNumber NSString p
  • 在 cocoa touch 中以编程方式将视图位置设置为右上角

    我需要确保一个视图 A 尺寸 200x200 始终与第二个视图 B 全屏尺寸 内的右上角对齐 我想确保无论设备方向如何 视图 A 都保留在该位置 事实是 当使用界面生成器来定位视图时 我对此没有任何问题 但我需要以编程方式构建它 我想我应该
  • 观察 UIDatePicker 的变化

    我注意到没有委托来观察 UIDatePicker 中的变化 有没有一种方法可以在不确认任何内容的情况下检测选择器中何时进行更改 例如它旋转并落在新数字上的那一刻 我希望能够检测到这一点 我考虑过关键值观察 但我不认为有一个属性会立即改变 您
  • Dropbox API - 使用 Dropbox 作为服务器

    我想使用文件共享服务器来使某些文件在多台计算机上的应用程序的多个实例中保持最新和恒定 例如 例如 编写多人游戏 它将所有玩家的位置存储在文本文件中 并使用 Dropbox 之类的工具在所有应用程序中保持文本文件不变 每个应用程序实例都可以根
  • 管理一堆具有依赖关系的 NSOperation

    我正在开发一个创建内容并将其发送到现有后端的应用程序 内容是标题 图片和位置 没有什么花哨 后端有点复杂 所以这是我必须做的 让用户拍照 输入标题并授权地图使用其位置 为帖子生成唯一标识符 在后台创建帖子 上传图片 刷新用户界面 我使用了几
  • 简单的 iPhone 运动检测

    我需要检测陀螺仪 加速度计何时被激活一定量 基本上是检测设备何时移动 我对核心运动一无所知 也许有人可以指导我入门教程或其他东西 提前致谢 我认为你必须使用 Core Motion 好消息是 它对于您的问题域来说并不难使用 开始阅读事件处理
  • 在覆盖 UIView 的右下角创建四分之一透明孔

    您好 我想在覆盖 UIView 的右下角创建一个四分之一透明孔 我可以使用下面的代码解决它 但它看起来不正确 因为我在视图之外创建了一个矩形 我尝试过的 implementation PartialTransparentView id in
  • didReceiveRemoteNotification 将用户带到正确的视图

    我有一个聊天应用程序 当发送新消息时 我的服务器会发送推送通知 我遇到的问题是如何将用户带到正确的视图 我正在发送一个channelID在推送通知中 但我如何检索它并将用户带入实际对话 我使用此代码来检测何时单击推送通知 void appl
  • NSAttributedString 的 AutoLayout 行高计算错误

    我的应用程序从 API 中提取 HTML 将其转换为NSAttributedString 为了允许可点击的链接 并将其写入自动布局表中的一行 问题是 每当我调用这种类型的单元格时 高度都会被错误计算并且内容会被截断 我尝试了不同的行高计算实
  • 如何让 Chrome Cast 在 iOS 后台运行?

    我有一个简单的问题 当您进入 iPhone 的主屏幕并且不退出应用程序时 chrome Cast 设备会停止在屏幕上播放视频 当应用程序在后台运行时 我如何才能保持播放状态 如果您有一个视频应用程序并且它在投射设备中运行 您可能需要以下行为
  • 将UIWebView显示的PDF保存到本地

    我有一个UIViewController与UIWebView显示一个 pdf 文件 具体取决于之前单击的行UITableView 现在我想添加一个按钮 供用户在本地保存此 pdf 文件以供离线使用 然后还有第二个UITableView它应该
  • WKWebView在后台,几个奇怪的断言

    我想找出iOS中当前浏览器的userAgent 所以在 Xcode 创建的默认项目中我添加了 import ViewController h import
  • 在后台运行 URL 请求

    我想在一定的时间间隔内发出 url 请求 例如 每 10 分钟应用程序应该发出一次 url 调用并获取一些 json 数据 应用程序在后台运行时应该能够执行此操作 这可以做到吗 如果是这样 这是否违反 Apple 服务条款 有什么限制吗 i
  • UIView 周围的虚线边框

    如何在周围添加虚线边框UIView 像这样的东西 如果您喜欢子层 还有另一种方法 在您的自定义视图的 init 中 输入以下内容 border 是 ivar border CAShapeLayer layer border strokeCo
  • UIImageWriteToSavedPhotosAlbum 选择器语法问题

    努力让 UIImageWriteToSavedPhotosAlbum 快速工作https developer apple com library ios documentation UIKit Reference UIKitFunction
  • 应用程序仅启用纵向,但 UIImagePickerController 在 iOS6 中旋转

    请注意 下面的答案 不适用于 iOS6 所以我仍然需要答案 我的应用程序仅启用纵向模式 但是 如果我将 UIImagePickerController 作为子视图嵌入其中 并旋转设备 则顶部和底部栏将保持在同一位置 但 UIImagePic
  • 如何在没有 MFMessageComposeViewController 的情况下发送和接收短信?

    我想发送和接收短信而不显示MFMessageViewController从我的申请中 有人能告诉我这怎么可能吗 不可能 除非您使用第 3 方 api 发送 接收短信
  • iOS 11 中的密码自动填充快速输入栏

    iOS 11 中引入了一项新功能 应用程序密码自动填充 此功能允许用户直接从键盘快速输入栏使用其应用程序中保存的密码 https techcrunch com 2017 06 08 ios 11s new password autofill
  • GCD 与自定义队列

    我想知道这两者的性能有什么区别 dispatch async dispatch get global queue DISPATCH QUEUE PRIORITY HIGH 0 perform complex operation dispat
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji

随机推荐