`
咖啡动力
  • 浏览: 440488 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Xcode 4.4 的新特性 | LLVM 4.0 的新语法

阅读更多

在最新的 Xcode 4.4 中,增加了许多新特性。其中包括更方便的代码输入,这得益于 LLVM 编译器 4.0 的更新。这一更新可大大提高写代码的效率。
1. 所有的 NSNumber 表达

从 Xcode 4.4 起,所有的 [NSNumber numberWithInt: 10] 之类的表达现在都可以写作 @10,如:
// 单个字符
NSNumber *theLetterZ = @'Z';   // 相当于 [NSNumber numberWithChar:'Z']

// 整形
NSNumber *fortyTwo = @42;      // 相当于 [NSNumber numberWithInt:42]
NSNumber *ftUnsigned = @42U;   // 相当于 [NSNumber numberWithUnsignedInt:42U]
NSNumber *ftLong = @42L;       // 相当于 [NSNumber numberWithLong:42L]
NSNumber *ftLongLong = @42LL;  // 相当于 [NSNumber numberWithLongLong:42LL]

// 浮点
NSNumber *piFloat = @3.141592F;// 相当于 [NSNumber numberWithFloat:3.141592F]
NSNumber *piDouble = @3.141592;// 相当于 [NSNumber numberWithDouble:3.141592]

// 是 / 否
NSNumber *yesNumber = @YES;    // 相当于 [NSNumber numberWithBool:YES]
NSNumber *noNumber = @NO;      // 相当于 [NSNumber numberWithBool:NO]


2. 新的 NSArray, NSDictionary 输入方法

以前想要创建一个新的 NSDictionary, 你必须不厌其烦地输入:
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], @"backup",
                         [NSNumber numberWithInt:7],    @"daysToKeepBackup",
                         @"foo",                        @"flags", nil];

现在只用输入:
NSDictionary *options = @{
    @"backup": @YES,
    @"daysToKeepBackup": @7,
    @"flags": @"foo"
};

就可以达到同样的效果。

NSArray 的输入方法也变得更简单:之前的
NSArray *items = [NSArray arrayWithObjects:@"item1",
                  [NSNumber numberWithBool:YES],
                  [NSNumber numberWithInt:12], nil];

现在只用输入:
NSArray *items = @[ @"item1", @YES, @12 ];


3. 嵌套表达式 (Boxed Expressions)

最新版本的 Objective-C 还提供了一种新的书写方式:
@( expression )

BOOL 和 int 的结果有时候需要被计算才能得到。这时候你便可以将表达式放入一对括号中。比如:
NSNumber *total = @(0.2f - 1.9f); //[NSNumber numberWithFloat:0.2f - 1.9f]
NSNumber *piOT = @(M_PI / 2);     //[NSNumber numberWithDouble:(M_PI / 2)]


4. 创建新 property 不用再合成

升级到 Xcode 4.4 后,在头文件中创建的 @property 均无需再进行 @synthesize。Xcode 将自动合成。
@synthesize object = _object;


5. 注意

以上新特性只有当你升级到 Xcode 4.4 最新版本才可获得。早期 Xcode 使用这种语法会出现编译错误。
分享到:
评论

相关推荐

    xcode4.4dp

    总结,Xcode 4.4 Developer Preview是一个为了提前试用和适应新特性的版本,它为开发者提供了探索、学习和适应新操作系统版本的机会。通过下载并安装`.torrent`文件,开发者可以开始他们的探索之旅,提前适应并准备...

    MAC OS X 10.8 + Xcode 4.4 下实现无证书真机调试 IOS5.1.1

    ### MAC OS X 10.8 + Xcode 4.4 下实现无证书真机调试 IOS5.1.1 #### 知识点一:证书构建与管理 **背景介绍:** 在iOS开发中,默认情况下,为了确保应用程序的安全性和合法性,苹果要求开发者必须通过有效的证书对...

    xcode 自用Hikari 基于llvm10

    《Xcode自用Hikari基于LLVM10:深入理解与实践》 在iOS和macOS开发领域,Xcode是Apple官方提供的集成开发环境(IDE),它包含了编译器、调试工具等一系列开发者所需的资源。本文将围绕"Xcode自用Hikari基于LLVM10...

    110.iOS10新特性适配教程XCode8新特性解析

    在本教程中,我们将深入探讨iOS10和XCode8的新特性,帮助开发者更好地适配这些更新并提升应用体验。 首先,我们关注的是SiriKit。SiriKit是iOS10引入的一个重大新特性,它允许第三方应用与Siri进行深度集成。开发者...

    Xcode 8新特性的使用和遇到的坑

    目前还在用Xcode 7.3 一直没有更新,毕竟可怜了我弄的那么多插件。...每个版本Xcode都会带来很多新特性,Xcode 8也不例外,这些新特性会给我们的开发带来便利,也会带来很多坑。所以今天打算写一篇文章,详细讲一下X

    xcode4.1/4.2/4.3/4.4真机调试手把手教程

    亲测,MAC 10.7 下xcode 4.3完美破解,可真机调试, MAC 10.8 下 xcode4.4 完美破解,可真机调试

    Xcode4.2新特性之storyboards (故事板)

    这篇博客将深入探讨Xcode 4.2中的Storyboards及其相关特性。 首先,我们要理解什么是Storyboards。故事板是一种统一的视图控制器(UIViewController)管理方式,允许开发者在一个单一的文件中设计整个应用的导航...

    Hikari_LLVM15.0.0.xctoolchain

    2. **新特性支持**: LLVM 15.0.0可能引入了新的语言特性和编译器优化,使得开发者可以利用最新技术。 3. **跨平台兼容性**: 定制工具链可能特别优化了某些平台或架构,例如ARM64或者Apple Silicon(M1)。 4. **调试和...

    Hikari-LLVM15.0.0.zip 支持Xcode14 混淆代码 防止破解

    Hikari_LLVM15.0.0.zip 支持Xcode14 混淆代码 防止破解 启用伪控制流: -mllvm -enable-bcfobf 启用控制流平坦化: -mllvm -enable-cffobf 启用指令替换: -mllvm -enable-subobf 启用反class-dump: -mllvm -...

    iOS Xcode llvm的资源使用

    对于开发者来说,研究这些源码可以深入了解编译器内部的工作原理,有助于定制自己的编译器或者开发新的语言特性。 在iOS开发中,理解LLVM如何与Xcode协同工作至关重要。Xcode集成了LLVM的编译和链接功能,使得...

    Hikari_LLVM13.0.0.xctoolchain.zip 支持xcode13 混淆代码 防止破解

    xcode13混淆工具链 可以让xcode编译的代码混淆

    Hikari-LLVM15.0.0.xctoolchain.zip

    只支持intel处理器使用 ...把 Hikari_LLVM15.0.0.xctoolchain 拷贝到 /Applications/Xcode.app/Contents/Developer/Toolchains 目录下即可 接着,在 Xcode->Toolchains中,选择 HikariObfuscator

    Hikari Xcode工具链

    通过更新和优化LLVM,Hikari工具链可以提供更快的编译速度,更优秀的代码优化,以及对新特性的早期支持。 这个工具链可能包括以下特点: 1. **编译加速**:通过优化编译器内核和并行编译策略,Hikari Xcode工具链...

    lua 在Xcode中加语法高亮

    标题中提到的"lua 在Xcode中加语法高亮",意味着我们需要将Xcode的语法高亮支持扩展到Lua语言。这个过程通常涉及到安装或导入自定义的语法定义文件。在这个特定的情况下,提供的压缩包`lua-xcode-coloring-master`...

    Xcode4.0快捷键图文解说

    Xcode 4.0版本引入了许多新特性和改进,其中包括一个更加高效、直观的用户界面,以及一套强大的快捷键系统。熟练掌握这些快捷键可以显著提高开发者的编码速度,减少在工具栏和菜单间切换的时间。 1. **编辑操作...

    12.2 (16E5181e) 2.zip,xcode12.2最新真机/模拟器包

    一、Xcode 12.2的新特性 1. 支持新平台:Xcode 12.2更新了对最新iOS 14.2、iPadOS 14.2、macOS Big Sur的支持,确保开发者能够利用这些系统的最新功能进行开发。 2. Swift语言更新:随着Swift语言的不断演进,...

    xcode12.3最新真机模拟器包.zip

    2. **Xcode 12.3的新特性**: - 支持Apple Silicon(M1芯片):Xcode 12.3能够原生运行在搭载M1芯片的Mac设备上,提供了更好的性能和兼容性。 - **Swift 5.3**:包含Swift语言的最新改进,如更好的类型推断、更...

    Hikari_LLVM9.0.1.xctoolchain.zip xcode代码混淆工具链

    支持xcode12.5.1 llvm9.0.1 hikari混淆 Hikari_LLVM9.0.1.xctoolchain.zip 用于xcode编译混淆代码 可以防止别人破解

    swift4.0基础教程

    总的来说,这个“Swift 4.0基础教程”涵盖了Swift语言的重要更新、Xcode的最新功能以及iOS 11的新特性,是初学者踏入Swift开发世界的一把钥匙。通过阅读《iOS 11应用开发基础教程Swift4.0.pdf》这份文档,你可以系统...

Global site tag (gtag.js) - Google Analytics