在 Objective C 中导入标头

2023-11-27

在 Objective-c 中,当我们按照惯例将一个类的对象使用到另一个类中时,我们应该在 .h 文件中转发声明该类,即@class classname;。并且应该在.m文件中导入头文件,即#import "header.h"。 但是如果我们在 .h 文件中导入头文件,那么我们就不必在 .m 文件中再次导入它。 那么这个约定背后的原因是什么?哪个是有效的方法?


那么这个约定背后的原因是什么?

您应该赞成前向声明(@class MONClass;)在可能的情况下,因为编译器在使用之前需要知道类型名是 objc 类,并且因为#import可以拖入大量其他标头(例如整个框架/库),严重扩展和复杂化您的依赖项并增加构建时间。

哪个是有效的方法?

转发声明。您的构建、重建和索引将是much如果你做得正确的话,速度会更快。

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

在 Objective C 中导入标头 的相关文章

随机推荐

  • 谷歌地图 API,提供的 API 密钥无效

    这是我第一次在堆栈溢出上发布问题 真心希望大家能帮忙 我第一次尝试使用谷歌地图地理编码 api 但无法让它工作 我使用的网址格式是 https maps googleapis com maps api geocode json addres
  • Qt 应用程序 UI 元素在 Docker 中随机呈现为空白/黑色

    我准备了Dockerfile构建我的 Docker 镜像Qt应用程序 要运行应用程序 我使用 X 我启用对 X 服务器的访问 xhost local root 然后我使用以下命令来运行它 docker run it env DISPLAY
  • 保留的 Python 模块/包名称是什么?

    我在使用 Python 单元测试时遇到了一个奇怪的错误 我的项目中有两个文件夹 project code init py empty app py defines my App class test test py contains my
  • 快速 firestore 检查文档是否存在

    使用 swift 和 firestore 我想检查 已使用的用户名 集合以查看用户名是否已被使用 以及它是否已提醒用户它已被使用 否则如果它仍然可用 我想创建该文件 我想要做的要点概述如下 我可以毫无问题地保存数据 尽管它检查其文档是否存在
  • 如何让RACSignal变热?

    ReactiveCocoa 可以通过调用它的方法将信号转换为 热 信号 subscribeCompleted 但我认为如果您不关心结果 即没有订阅者 则此方法非常冗长 RACDisposable animationDisposable se
  • notifyDataSetChanged 更新ListView失败

    I have a DialogFragment which has a list view with CheckedTextView and a checkbox at the top to Check and uncheck all th
  • 如何使用 Soundcloud Javascript SDK 进行流式传输,在上一个曲目完成后自动移至下一个声音?

    我是 Javascript 和 Soundcloud SDK 的新手 所以如果我当前的解决方案偏离基础 请告诉我如何改进它 我正在构建一个自定义 Soundcloud 播放器 而不是使用预构建的小部件 我正在寻找自动地一首曲目播放完毕后移至
  • numpy 是否自动针对树莓派进行优化

    Raspberry Pi armv7l 架构 具有 neon vfpv4 支持 可用于优化 标准版numpy在安装命令时是否包含这些优化pip3 install numpy or apt get python3 numpy 我不是在谈论 b
  • 显示段落的第一行

    我有一个带有多行段落的 DIV 有什么方法 也许使用 jQuery 只显示段落的第一行并隐藏其他行 这是一种 某种程度上 将段落设置为白底白字的方法 除了 第一行 http jsbin com usora4 2 edit CSS 片段 p
  • 如何在带有 VS 2019 预览版的 Windows 10 中安装 boost

    我搜索了很多 但没有找到任何有用的分步指南来在带有 VS 2019 Preview 的 Windows 10 中安装 配置和构建 boost 你们中的任何人都可以指导我完成这项任务吗 我已经下载了 boost 1 70 但是当我执行 boo
  • 使用 Swift 从 AppDelegate 更改 UINavigationBar 后退按钮文本和字体

    我需要更改 UINavigationBar 后栏按钮文本AppDelegate将更改应用到所有Views在我的应用程序中 我使用以下方法更改了标题字体样式 UINavigationBar appearance titleTextAttrib
  • Maven Spring Boot 插件:如何从另一个项目运行 spring boot

    https docs spring io spring boot docs current maven plugin usage html 我有一个项目 有 2 个模块 Parent pom xml SpringBoot2App pom x
  • UISearchDisplayController 未正确显示自定义单元格

    所以我有一个包含部分和行的 tableView 并且它使用自定义单元格类 自定义单元格有一个图像视图和一些标签 表视图工作正常 搜索工作正常 但搜索不显示我的自定义单元格类中的任何标签 仅显示具有正确图像的 imageView 我很困惑为什
  • 如何在 PowerShell 脚本中指定非位置参数?

    我有以下内容param块在脚本的开头 param string command string version 1 1 0 这很好 只有我需要 version to not是一个位置参数 所以如果你输入 script ps1 run argu
  • 动态 JQuery 日期选择器代码

    我需要创建动态过滤器来动态添加 删除行 它包含一个下拉框 根据所选的下拉框值 我创建一个动态 td 可能有一个文本字段或下拉列表 如果它是文本字段 那么我必须为该文本字段添加日期选择器 我已经这样做了 除了动态生成的文本字段的日期选择器 如
  • 相机姿态估计:如何解释旋转和平移矩阵?

    假设我在两个图像之间具有良好的对应关系 并尝试恢复它们之间的相机运动 我可以使用 OpenCV 3 的新工具来实现此目的 如下所示 Mat E findEssentialMat imgpts1 imgpts2 focal principal
  • 具有多选功能的 UICollectionView 不会选择超过十几个项目

    当使用UICollectionView with allowsMultipleSelection设置为 是 时 只有十几个项目可供选择 UICollectionViewDelegate停止打电话collectionView didSelec
  • 从背景中剪出的透明文本

    有什么办法可以制作一个从背景中剪出的透明文本效果如下图 用CSS吗 如果因为图像取代文本而失去所有宝贵的 SEO 那将是令人遗憾的 我首先想到的是阴影 但我想不出任何东西 图片为网站背景 绝对定位 img tag css3 是可以的 但并非
  • iOS:使用 ContainerView 具有动态内容的 UIScrollView (一步一步)

    尽管这里有多个问题和答案 但我无法创建一个UIScrollView具有静态和动态内容 通过使用ContainerView 并使尺寸正常工作 因此 我将提供一步一步的指导 直到我无法取得任何进展并且有人可以提供解决方案为止 这样我们就会有一个
  • 在 Objective C 中导入标头

    在 Objective c 中 当我们按照惯例将一个类的对象使用到另一个类中时 我们应该在 h 文件中转发声明该类 即 class classname 并且应该在 m文件中导入头文件 即 import header h 但是如果我们在 h