`

New Objective-C Literal Syntax for NSArray, NSDictionary

    博客分类:
  • ios
 
阅读更多
Users of Apple compiler releases can use these features starting with the Apple LLVM Compiler 4.0. Users of open-source LLVM.org compiler releases can use these features starting with clang v3.1.

NSNumber literals
NSNumber *n1 = @1000;  // [NSNumber numberWithInt:1000] 
NSNumber *n2 = @3.1415926; // [NSNumber numberWithDouble:3.1415926]
NSNumber *c = @'c'; // [NSNumber numberWithChar:'c']
NSNumber *b = @YES; // [NSNumber numberWithBool:YES]

// uses the usual suffixes for `unsigned` (`u`) and `float` (`f`)
NSNumber *f = @2.5f;
NSNumber *nu = @256u;

 

NSArray literals

// before
NSArray *words = [NSArray arrayWithObjects:@"list", @"of", @"words",[NSNumber numberWithInt:123],[NSNumber numberWithFloat:3.14], nil];
// after (array with some strings and numbers)
NSArray *words = @[@"list", @"of", @"words", @123, @3.14];

不需要nil结尾

 

NSDictionary literals

NSDictionary *d = @{
  @"key": @"value",
  @"name": @"Joris",
  @"n": @1234,
  @3: @"string"
};

   不需要nil结尾

 

 

NSMutableArray *array = ...;
NSUInteger idx = ...;
id newObject = ...;
id oldObject = array[idx];
array[idx] = newObject;		    // replace oldObject with newObject

NSMutableDictionary *dictionary = ...;
NSString *key = ...;
oldObject = dictionary[key];
dictionary[key] = newObject;	// replace oldObject with newObject
 

 

 

详情:http://clang.llvm.org/docs/ObjectiveCLiterals.html

 

分享到:
评论

相关推荐

    001-glib-gdate-suppress-string-format-literal-warning.patch

    001-glib-gdate-suppress-string-format-literal-warning.patch 001-glib-gdate-suppress-string-format-literal-warning.patch 001-glib-gdate-suppress-string-format-literal-warning.patch

    Xcode 使用技巧 Objective-C学习之路 iphone

    ### Xcode 使用技巧与Objective-C学习之路 Xcode作为苹果官方提供的集成开发环境(Integrated Development Environment,简称IDE),被广泛应用于iOS、macOS、watchOS和tvOS的应用开发。对于Objective-C开发者而言...

    swift-Swift和Objective-C的Matcher框架

    Swift和Objective-C的Matcher框架是iOS和macOS开发中用于单元测试的重要工具,它们扩展了XCTestCase,提供了更简洁、强大的断言方法。Matcher框架如Quick和Nimble使得测试代码更加清晰,易于理解,同时也提高了测试...

    前端开源库-json-literal

    标题中的“前端开源库-json-literal”指的是一个前端开发领域中的开源库,它与JSON(JavaScript Object Notation)处理有关,特别是与JSON的文字表示形式有深入的关联。JSON是一种轻量级的数据交换格式,广泛应用于...

    big-array-literal.rar_We Work

    在JavaScript编程中,大数组字面量(Big Array Literal)是一个重要的概念,特别是在处理大量数据时。标题"big-array-literal.rar_We Work"暗示了这个压缩包包含了一个关于大数组字面量的示例,可能是一个测试用例,...

    big-object-literal.rar_We Work

    标题中的"big-object-literal.rar_We Work"指的是一个与创建大型对象字面量相关的测试项目,这个项目可能用于验证JavaScript引擎在处理大量数据时的性能和稳定性。"We Work"可能代表团队名称或者项目的工作重点,即...

    ts-string-literal-enum-plugin:一种仅需单击即可将枚举转换为字符串文字枚举的工具。 用:red_heart_selector:构建

    ts-string-literal-enum-plugin 只需单击一下,即可将枚举转换为字符串文字枚举的工具。 建立 :red_heart_selector: 。用法安装作为VSCode扩展您可以看到 。作为打字稿插件安装套件yarn add ts-string-literal-enum-...

    vim-ruby-heredoc-syntax:vim插件,用于在ruby here文档中高亮显示代码

    vim-ruby-heredoc语法这样可以在Ruby此处的文档代码块中...截屏选项 " Add syntax rulelet g: ruby_heredoc_syntax_filetypes = { \ " xml " : { \ " start " : " XML " , \} , \}" 'start' is heredoc start literal.

    css-literal-loader, 将CSS标记的模板文本解析为CSS文件.zip

    css-literal-loader, 将CSS标记的模板文本解析为CSS文件 css-literal-loader用于提取和处理其他文件中定义的css的web pack加载器和babel插件。"inline CSS",它只适用于 CSS 。PostCSS 。LESS 。tlb或者任何它的他...

    object-literal-gc.rar_objects

    在JavaScript编程语言中,"对象字面量"(Object Literal)是一种创建对象的简洁方式,类似于其他编程语言中的字典或映射结构。这个压缩包文件`object-literal-gc.rar_objects`及其包含的文件,如`7.3-10.js`、`7.3-...

    Swift编程语言(英文版)

    Objective-C 自己已经包含了许多支持块,Literal语法和模块,使得框架能够接受现代语言技术而不至于分离。感谢这些基础工作,我们现在开始介绍一款未来苹果软件开发的编程语言。 Swift 对于Objective-C 开发者来说...

    毕业论文(设计)--c语言词法分析器和c语言语法分析器编译原理课程设计正文.doc

    编译原理课程设计 - C 语言词法分析器和 C 语言语法分析器 在计算机科学领域中,编译原理是指将高级语言编译成机器语言的过程,而词法分析器和语法分析器是编译过程中的两个关键组件。本文档旨在设计和实现一个 C ...

    mdast-util-gfm-autolink-literal:用于解析和序列化 GFM 自动链接文字的 mdast 扩展

    mdast-util-gfm-autolink-literal 和/或扩展,以支持GitHub 风格的自动链接文字。 解析时( from-markdown ),必须结合 。什么时候用这个如果您想要所有 GFM,请使用 。 否则使用它。安装此包仅适用于 ESM :需要 ...

    The Swift Programming Language_笔记

    Swift是供iOS和OS X应用编程的新编程语言...Objective-C进化支持了块、collection literal和模块,允许现代语言的框架无需深入即可使用。(by gashero)感谢这些基础工作,才使得可以在Apple软件开发中引入新的编程语言。

    swift编程语言教程 2014 官方正式版.zip

    swift编程语言是一款全新的苹果程序开发编程语言,继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题。Swift更加的简单而且兼容性更好,提供iOS和OS X应用编程的新编程语言,这是一款功能非常强大的语言...

    JavaScript语言中的Literal Syntax特性分析

    JavaScript中的Literal Syntax,也称为字面量语法,是一种在编程语言中直接表示值的语法结构。在JavaScript中,字面量语法广泛应用于创建各种数据类型的实例,如简单类型(Number、Boolean、String)以及复杂类型...

    template-literal-源码.rar

    在JavaScript的世界里,模板字面量(Template Literal)是一种非常重要的语法特性,它极大地提升了我们编写字符串的能力。模板字面量的源码分析可以帮助我们深入理解这一特性背后的实现原理,从而更好地利用它来提高...

Global site tag (gtag.js) - Google Analytics