是否可以在 Xcode 4.3 中使用 NSArray、NSDictionary 和 NSNumber “文字”? (LLVM 4.0)

2023-11-24

显然,新的 Objective-C 文字已经进入了铿锵的树干,从而揭开了保密协议的神秘面纱。

我的问题… 我怎么能够,以上帝的名义,在 Xcode ⋜ v4.3 中使用这些构造(见下文)。如果没有,并且我一直在等待 XCode 4.4 / OSX 10.8 / LLVM 4.0 三连胜,是否可以通过一些巧妙的类别等来偷工减料?

(对于所有不知道的人......这些新语法意味着将会有备受赞赏的用于创建的附加构造 NSArray, NSDictionary, and NSNumber.)


我找到了一种非官方的方法来做到这一点......使用github 上的 Lumumba 框架,有一整套语法糖类别,具有以下定义......可以达到预期的效果。

#define $(...)        ((NSString *)[NSString  stringWithFormat:__VA_ARGS__,nil])
#define $array(...)   ((NSArray *)[NSArray arrayWithObjects:__VA_ARGS__,nil])
#define $set(...)     ((NSSet *)[NSSet setWithObjects:__VA_ARGS__,nil])
#define $map(...)     ((NSDictionary *)[NSDictionary dictionaryWithObjectsAndKeys:__VA_ARGS__,nil])
#define $int(A)       [NSNumber numberWithInt:(A)]
#define $ints(...)    [NSArray arrayWithInts:__VA_ARGS__,NSNotFound]
#define $float(A)     [NSNumber numberWithFloat:(A)]
#define $doubles(...) [NSArray arrayWithDoubles:__VA_ARGS__,MAXFLOAT]
#define $words(...)   [[@#__VA_ARGS__ splitByComma] trimmedStrings]
#define $concat(A,...) { A = [A arrayByAddingObjectsFromArray:((NSArray *)[NSArray arrayWithObjects:__VA_ARGS__,nil])]; }

所以,基本上,而不是……

NSArray *anArray = [NSArray arrayWithObjects:
    object, @"aWord", [NSNumber numberWithInt:7], nil];

只是…

NSArray *anArray = $array(object, @"aWord", $int(7));

啊哈,简洁。

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

是否可以在 Xcode 4.3 中使用 NSArray、NSDictionary 和 NSNumber “文字”? (LLVM 4.0) 的相关文章

随机推荐

  • Android 上的 BouncyCastle

    我正在使用 PBEWITHSHA256AND256BITAES CBC BC 来加密包含敏感用户数据的二进制数据 我只是想确认 BouncyCastle 是否是 2 1 之后的每个 Android SDK 的一部分 因为我在一些网站上读到
  • 是否可以使用java代码监视文件夹?

    有谁知道如何使用java监控文件夹 或者任何人都可以给我一个观点 我该如何开始这个 这是我的想法 启动一个线程来扫描文件夹更改 这可能是创建 删除 更新此文件夹中的文件或发生其他情况 例如上次更新 但在这种情况下 你必须控制线程循环 如果这
  • 在 Windows 上使用 Python 将 SVG 转换为 PNG

    问题 哪个可重现的过程可以使 Windows Python 用户将 SVG 图像渲染为 PNG 许多问题 答案 例如在 Python 中将 SVG 转换为 PNG and python 中的服务器端 SVG 到 PNG 或其他图像格式 由于
  • JavaFX 和 Silverlight 的优缺点 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我知道已经有人对 Flex JavaFX 和 Silverlight 的性能有疑问 我的问题有点广泛 我们正在评估 JavaFX 和 Silverlight 作为控制 配置我们的后端服务
  • 我可以使用 CSS 更改 svg 路径的填充颜色吗?

    我有以下代码 span span
  • 如何将图像和 h1 标题相邻对齐?

    我在尝试将图像和 h1 标签对齐在一行上时遇到问题 我尝试了 display inline 和 inline block 它们不起作用 只制作了两者的容器 我将截面的宽度添加到 100 但仍然没有任何结果 浮动也不起作用 如果起作用 就会破
  • Android 上的 PhoneGap:从远程服务器加载 Web 应用程序

    当我将所有 Web 文件 html JS CSS 复制到项目的 www 文件夹并使用这些文件编译应用程序时 我的 Android PhoneGap 应用程序完全按预期工作 但是 当我不复制它们并重定向到包含这些文件的 Web 服务器时 即在
  • html/body 上的高度 100% 在 iPhone 上不起作用

    我使用 Foundation 创建了一个响应式网站 其页脚绝对位于页面底部 在我的桌面浏览器上 它看起来一模一样 但在我的 iPhone 上 页脚与部分内容重叠 而不是一直位于页面底部 我的 html body CSS 设置为 html b
  • Mapbox 空白地图 React-map-gl | Mapbox 空白地图ReactJS

    我正在使用react 17 0 1和react map gl 6 0 2我有一个地图组件 我尝试过其他库 问题仍然存在 我已经联系了 Mapbox 的支持人员 我已经联系了其他mapbox用户 无法解决这个问题 当我执行 npm run s
  • Perl简单比较== vs eq

    关于已接受的答案Perl 中的字符串比较 eq 与 它说First eq is for comparing strings is for comparing numbers 进行数字比较 它将两个参数转换为数字 然后比较它们 eq 进行字符
  • 使用 CSS 和 HTML 的垂直树

    我正在尝试用 HTML 和 CSS 绘制一个垂直的树状结构 我已经在某种程度上做到了 Fiddle div class tree ul li a href Parent a ul li a href Child a ul li a href
  • 什么是 java.io.IOException:无效的标头字段?

    当我尝试运行以下命令时 jar cvfm myjar jar manifest txt class 我收到以下异常 java io IOException invalid header field at java util jar Attr
  • 为什么在initComponent中使用Ext.apply

    很多代码示例都使用分机申请在设置组件的属性时初始化组件 method 例子 initComponent function Ext apply this items xtype button 我的问题是 与这样做相比 这样做有什么区别 ini
  • 如何让fopen正确超时?

    我有以下 php 代码片段 if fp fopen url r stream set timeout fp 1 stream set blocking fp 0 info stream get meta data fp 我希望请求在 1 秒
  • 将 R 列表(矩阵)的每个成员彼此相乘

    我在 R 中有一个大小相等的矩阵列表 我想将它们相互相乘 我正在寻找一种方法来做 list A list B list C 无需手动输入 我的列表有几十个矩阵 Use Reduce如果你想要逐个元素相乘 gt Lists lt list m
  • C 如何正确测量时间?

    这是 算法 但是当我想测量执行时间时 它给我零 为什么 define ARRAY SIZE 10000 clock t start end start clock for i 0 i lt ARRAY SIZE i non parallel
  • 托管 Windows 窗体设计器 - 在运行时序列化设计器并生成 C# 代码

    我正在创建一个设计器界面并将控件加载到运行时 我在将控件反序列化 加载到运行时时遇到问题 我尝试过的所有方法似乎都存在某种类型的问题 面临的问题例如 控件仍然受设计时的限制 并非所有属性都与所有属性 即嵌套属性 反序列化 控件关联似乎确实得
  • CSS 中的 div 布局就像 HTML 表格中的表格单元格

    今天我又一次偶然发现了 css 布局时经常遇到的一个问题 我想在水平行中有 5 个 div 举例来说 它们的宽度应该是 1 60 像素 2 30 3 40 像素 4 5 100 像素 其中 代表 填满剩余空间 过去 这就是我们布局宽度表的方
  • 获取所选文本的父元素

    是否可以获取页面中所选文本的父元素 例如 div class someparent Selection of this text should refer to the someparent class span class spanpar
  • 是否可以在 Xcode 4.3 中使用 NSArray、NSDictionary 和 NSNumber “文字”? (LLVM 4.0)

    显然 新的 Objective C 文字已经进入了铿锵的树干 从而揭开了保密协议的神秘面纱 我的问题 我怎么能够 以上帝的名义 在 Xcode v4 3 中使用这些构造 见下文 如果没有 并且我一直在等待 XCode 4 4 OSX 10