如何在 Objective-c 中将数组声明为常量?

2024-02-29

以下代码给我错误:

//  constants.h
extern NSArray const *testArray;
//  constants.m
NSArray const *testArray = [NSArray arrayWithObjects:  @"foo", @"bar", nil];

我得到的错误是
initializer element is not constant

或者,如果我拿走指针指示器 (*),我会得到:
statically allocated instance of Objective-C class 'NSArray'


简而言之,你不能。 Objective-C 对象(NSString 除外)仅在运行时创建。因此,您不能使用表达式来初始化它们。

有几种方法。

(1)声明NSArray *testArray没有const关键字,然后有一些代码设置在应用程序生命周期早期调用的值。

(2) 声明一个返回数组的方便的类方法,然后使用static NSArray *myArray在该方法中并将其视为单例(搜索“objective-c singleton”以获取有关如何实例化的无数答案)。

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

如何在 Objective-c 中将数组声明为常量? 的相关文章

  • 在Matlab中对字符进行分组并形成矩阵

    我有 26 个字符 A 到 Z 我将 4 个字符组合在一起 并用空格分隔以下 4 个字符 如下所示 abcd efgh ijkl mnop qrst uvwx yz 我的Matlab编码如下 str abcdefghijklmnopqrst
  • 如何将 CIFilter 输出到相机视图?

    我刚刚开始使用 Objective C 我正在尝试创建一个简单的应用程序 它显示带有模糊效果的相机视图 我得到了与 AVFoundation 框架一起使用的相机输出 现在 我正在尝试连接 Core 图像框架 但不知道如何连接 Apple 文
  • 如何从 UILabel 创建图像?

    我目前正在 iPhone 上开发一个简单的类似 Photoshop 的应用程序 当我想要展平图层时 标签位于良好的位置 但字体大小不佳 这是我要展平的代码 UIGraphicsBeginImageContext CGSizeMake wid
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • 如何使用 Jersey 将嵌套列表封送为 JSON?我得到一个空数组或一个包含数组的单元素字典数组

    我正在开发一个使用 Jersey 将对象转换为 JSON 的项目 我希望能够写出嵌套列表 如下所示 data one two three a b c 我想要转换的对象首先将数据表示为 gt gt 我认为 Jersey 会做正确的事情 以上输
  • 当自定义子视图处理触摸时防止 UITableView 滚动

    在我的 iOS 应用程序中 有一个 UITableView 其中一个单元格中包含一个自定义子视图 该单元格是一个交互式视图 它处理触摸事件 touchesBegan touchesEnded touchesMoved 以更新自身 问题是 当
  • NSArray 对象的 RACSignal

    我的 ViewController 上有一个 NSArray 的 ViewModel 对象 property 非原子 强 NSArray viewModels ViewModel 对象看起来像这样 interface ViewModel N
  • 如何将字符串从 Applescript 传递到 Objective C

    我正在开发一个应用程序 我需要能够传递一个字符串变量 from 苹果脚本 to 目标C 我已经弄清楚如何从 Objective C 类中的方法运行 Applescript 但我需要能够将 NSString 设置为 Applescript 中
  • 显示器连接或断开连接时的通知

    我正在开发一个 OS X 应用程序 该应用程序在所有连接的显示器的所有可用空间上显示自定义窗口 我可以通过调用 NSScreen Screens 获取可用显示对象的数组 我目前缺少的是一种判断用户是否将显示器连接到系统或从系统断开屏幕的方法
  • 检查系统时间是自动还是用户设置

    我需要在当前的项目中设置用户证明时间 我围绕这个问题发现了很多不同的问题 但似乎没有一个问题有我正在寻找的答案 这些是我到目前为止看过的问题 XCODE 如何从设备获取 验证准确的时间戳 https stackoverflow com qu
  • 为什么对于小数组,for-of 循​​环比标准 for 循环快,而对于大数组则慢?

    在 JavaScript 中 我注意到 ES6for of循环的性能与传统的有很大不同for start stop step loop 基准 const n 10000 const arr Array n fill map e i gt i
  • 通过嵌套数组对象属性将数组映射到字符串数组

    拥有包含嵌套数组的对象数组 let arr name aaa inputs inputName input 1 groups groupName group a name bbb inputs inputName input 2 group
  • C++中const对象位于哪个内存区域? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Xcode 4 调试器代码完成

    首先 很高兴他们尝试在 Xcode 4 中的 gdb 命令提示符上完成代码 但在当前状态下 它使得使用命令提示符来调查目标 c 对象几乎不可能 当我打字时 它自动将单词补全为我不想要的内容 并且如果不手动选择文本并将其删除 然后重新开始 则
  • ios 11 - UIBarButtonItem 内的 UIButton 导致自动布局错误

    我在将 UIButton 添加到 UIBarButtonItem 时遇到了一个已知问题 我尝试按照建议添加自动布局约束堆栈溢出 https stackoverflow com a 46336639 505603但我收到如下所述的错误 UIB
  • 由于 2.23 导致 iOS 应用程序被拒绝 - iOS 数据存储指南

    以下是 Apple 关于拒绝的消息 2 23 应用程序必须遵循 iOS 数据存储指南 否则将被拒绝 2 23 详情 在启动和内容下载时 您的应用程序会存储 6 5 MB 这并不意味着 遵守 iOS 数据存储指南 下一步 请验证只有用户使用您
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • AVPlayer 不播放音频 - iOS 9,目标 - C

    我正在尝试从我的应用程序中的 URL 播放音频 iOS 8 中一切都按预期发生 模拟器和物理设备 对于 iOS 9 它可以在模拟器中运行 但在设备上 音频根本无法播放 出现流媒体 如果我单击播放 进度条还显示音频正在加载并播放 但没有声音
  • 矩阵到数组 C#

    这将是转换方阵的最有效方法 例如 1 2 3 4 5 6 7 8 9 into 1 2 3 4 5 6 7 8 9 in c 我在做 int array2D new int 1 2 3 4 5 6 7 8 9 int array1D new
  • 如果加载 dylib,垃圾收集工作队列会崩溃

    我们正在将应用程序从 10 6 移植到 10 8 我正在查看我们在应用程序中加载的 dylib 我面临着非常不寻常的崩溃垃圾收集工作队列并附有以下消息 malloc Thread suspend unable to suspend a th

随机推荐

  • JSplitPane 中分隔线移动的动画

    在我的代码中 UI 具有以下组件 JSplitPane pane1 JTable pane2 JPanel with some texutal information 我正在侦听表上的行选择事件 然后适当地设置分割窗格的分隔符位置 以便文本
  • 如何在我的 App.js 视图中导入和使用此文件

    我想将其导入到我的 React Native 项目 App Js vue 中 我尝试了很多方法 但它不起作用 我的意思是我想在我的视图中渲染它 我如何导入并在我的 Appjs 中显示此文件 谁能帮助我 这对我来说非常重要 这是我的代码 im
  • UIScrollView contentInset 属性有什么用?

    有人可以向我解释一下是什么吗contentInset财产在一个UIScrollView实例是用来做什么的 也许提供一个例子 它设置内容视图和封闭滚动视图之间的插图距离 Obj C aScrollView contentInset UIEdg
  • 解决 celerybeat 的单点故障问题

    我正在寻找推荐的解决方案来解决 celerybeat 成为 celery rabbitmq 部署的单点故障的问题 到目前为止 通过搜索网络 我没有找到任何有意义的东西 就我而言 定时调度程序每天启动一次可以运行半天或更长时间的一系列作业 由
  • contentView 在 iOS 6 UITableViewCell 原型单元格中不缩进

    我正在配置自定义UITableViewCell在故事板中使用原型单元 然而 所有的UILabels 和其他 UI 元素 似乎没有添加到单元格的contentView 而不是添加到UITableViewCell直接查看 当单元格进入编辑模式时
  • Chrome iframe 父级未定义

    我有这个 Gmail 脚本 它运行在canvas frame iframe 我想使用父文档的句柄parent document 但在 Chrome 中告诉我它是未定义的 在 Firefox 中工作正常 但在 Chrome 上就崩溃了 那么
  • 在SceneKit中,SCNLightTypeAmbient类型的SCNLight是否会忽略categoryBitMask参数?

    看来是啊 这里 categoryBitMask 被忽略 ambientLight SCNLight light ambientLight color UIColor colorWithRed 0 994 green 0 715 blue 0
  • iTunes 有哪些脚本目标?

    苹果有一个很好的文档技术问答页面 https developer apple com library mac qa qa1802 index html用于实现 Mail app 的脚本目标 然而 尽管脚本目标也适用于 iTunes 但没有可
  • 静态方法和扩展方法同名

    我创建了扩展方法 public static class XDecimal public static decimal Floor this decimal value int precision decimal step decimal
  • Vue2 在通过 Axios 接收的列表中搜索

    由于过滤比 Vue 1 中的过滤要复杂得多 所以我有一个问题 这是我的组件 其中显示了羊列表 并提供了搜索 过滤名称或家族的选项 但我不知道如何实现这一目标
  • 如何将配置变量发送到 py.test 测试?

    我有一个测试套件需要与多个后端一起运行 但这不是一个简单的参数化测试 因为它适用于整个套件 多个文件 模块 我可以通过环境控制运行 但我想知道 py test 是否有更清晰的方式来表达这一点 也就是说 我正在寻找这样的东西 py test
  • 如何将 hasOne 关系与嵌入的always关系建立起来

    EmberJS 在早期版本中删除了 hasOne 在我想要 hasOne 的地方创建这样的嵌套对象关系的方法是什么 已经删除了 hasOne 以支持 ownTo 任何人都可以分享一下如何在嵌套 JSON 之间编写 embedded alwa
  • 如何将 C++ 静态库链接到 C 程序?

    我有以下 C 程序 Client h ifndef Client Client h define Client Client h include Client h class Client public void f1 void f2 en
  • Vim 中切换回上一个窗口的快捷方式?

    Ctrlw1w switches to the first window 如果目前我经常在几个窗口中的两个中进行编辑 那么切换回最后一个活动窗口的快捷方式将是完美的 有这样的捷径吗 你试过了吗
  • javascript 动态 HTML 表格行导致问题

    我有一个select option在选择其中我创建一个 HTML 表 因为我根据所选选项从后端调用数据 所以创建的表行是动态的 我正在做的是 在更改选择选项时 我正在创建 HTML 表格行 这些行是动态的并且由输入字段组成 ItemName
  • “mod”Haskell 上的语法错误[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在关注 haskell 教程 http www seas upenn edu cis194 lectures 01 intro
  • Autohotkey 脚本使用命令行参数运行程序

    我正在使用自动热键来自动化一些手动过程 我必须运行一个接受几个命令行参数的java命令行程序 java 我想在自动化中执行一些预定义的任务后从 autohotkey 运行这个 java 程序 我该怎么做 我认为这就是您正在寻找的 在此示例中
  • OAuth2 与 Spring Security - InsufficientAuthenticationException

    我目前正在开发一个涉及 Spring Security 针对 OAuth2 的项目 我们正在使用授权码流程 但是 当客户端点击 AuthorizationEndpoint oauth authorize 时 我们得到一个 Insuffici
  • 是否可以让 LaTeX 链接到图形的顶部而不是其标题?

    在我的 TeX 文件中 我有以下代码 begin figure H begin center includegraphics width 5in screens main png caption label fig MainScreen S
  • 如何在 Objective-c 中将数组声明为常量?

    以下代码给我错误 constants h extern NSArray const testArray constants m NSArray const testArray NSArray arrayWithObjects foo bar