在最新的 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 使用这种语法会出现编译错误。
分享到:
相关推荐
总结,Xcode 4.4 Developer Preview是一个为了提前试用和适应新特性的版本,它为开发者提供了探索、学习和适应新操作系统版本的机会。通过下载并安装`.torrent`文件,开发者可以开始他们的探索之旅,提前适应并准备...
### MAC OS X 10.8 + Xcode 4.4 下实现无证书真机调试 IOS5.1.1 #### 知识点一:证书构建与管理 **背景介绍:** 在iOS开发中,默认情况下,为了确保应用程序的安全性和合法性,苹果要求开发者必须通过有效的证书对...
《Xcode自用Hikari基于LLVM10:深入理解与实践》 在iOS和macOS开发领域,Xcode是Apple官方提供的集成开发环境(IDE),它包含了编译器、调试工具等一系列开发者所需的资源。本文将围绕"Xcode自用Hikari基于LLVM10...
在本教程中,我们将深入探讨iOS10和XCode8的新特性,帮助开发者更好地适配这些更新并提升应用体验。 首先,我们关注的是SiriKit。SiriKit是iOS10引入的一个重大新特性,它允许第三方应用与Siri进行深度集成。开发者...
目前还在用Xcode 7.3 一直没有更新,毕竟可怜了我弄的那么多插件。...每个版本Xcode都会带来很多新特性,Xcode 8也不例外,这些新特性会给我们的开发带来便利,也会带来很多坑。所以今天打算写一篇文章,详细讲一下X
亲测,MAC 10.7 下xcode 4.3完美破解,可真机调试, MAC 10.8 下 xcode4.4 完美破解,可真机调试
这篇博客将深入探讨Xcode 4.2中的Storyboards及其相关特性。 首先,我们要理解什么是Storyboards。故事板是一种统一的视图控制器(UIViewController)管理方式,允许开发者在一个单一的文件中设计整个应用的导航...
2. **新特性支持**: LLVM 15.0.0可能引入了新的语言特性和编译器优化,使得开发者可以利用最新技术。 3. **跨平台兼容性**: 定制工具链可能特别优化了某些平台或架构,例如ARM64或者Apple Silicon(M1)。 4. **调试和...
Hikari_LLVM15.0.0.zip 支持Xcode14 混淆代码 防止破解 启用伪控制流: -mllvm -enable-bcfobf 启用控制流平坦化: -mllvm -enable-cffobf 启用指令替换: -mllvm -enable-subobf 启用反class-dump: -mllvm -...
对于开发者来说,研究这些源码可以深入了解编译器内部的工作原理,有助于定制自己的编译器或者开发新的语言特性。 在iOS开发中,理解LLVM如何与Xcode协同工作至关重要。Xcode集成了LLVM的编译和链接功能,使得...
xcode13混淆工具链 可以让xcode编译的代码混淆
只支持intel处理器使用 ...把 Hikari_LLVM15.0.0.xctoolchain 拷贝到 /Applications/Xcode.app/Contents/Developer/Toolchains 目录下即可 接着,在 Xcode->Toolchains中,选择 HikariObfuscator
通过更新和优化LLVM,Hikari工具链可以提供更快的编译速度,更优秀的代码优化,以及对新特性的早期支持。 这个工具链可能包括以下特点: 1. **编译加速**:通过优化编译器内核和并行编译策略,Hikari Xcode工具链...
标题中提到的"lua 在Xcode中加语法高亮",意味着我们需要将Xcode的语法高亮支持扩展到Lua语言。这个过程通常涉及到安装或导入自定义的语法定义文件。在这个特定的情况下,提供的压缩包`lua-xcode-coloring-master`...
Xcode 4.0版本引入了许多新特性和改进,其中包括一个更加高效、直观的用户界面,以及一套强大的快捷键系统。熟练掌握这些快捷键可以显著提高开发者的编码速度,减少在工具栏和菜单间切换的时间。 1. **编辑操作...
一、Xcode 12.2的新特性 1. 支持新平台:Xcode 12.2更新了对最新iOS 14.2、iPadOS 14.2、macOS Big Sur的支持,确保开发者能够利用这些系统的最新功能进行开发。 2. Swift语言更新:随着Swift语言的不断演进,...
2. **Xcode 12.3的新特性**: - 支持Apple Silicon(M1芯片):Xcode 12.3能够原生运行在搭载M1芯片的Mac设备上,提供了更好的性能和兼容性。 - **Swift 5.3**:包含Swift语言的最新改进,如更好的类型推断、更...
支持xcode12.5.1 llvm9.0.1 hikari混淆 Hikari_LLVM9.0.1.xctoolchain.zip 用于xcode编译混淆代码 可以防止别人破解
总的来说,这个“Swift 4.0基础教程”涵盖了Swift语言的重要更新、Xcode的最新功能以及iOS 11的新特性,是初学者踏入Swift开发世界的一把钥匙。通过阅读《iOS 11应用开发基础教程Swift4.0.pdf》这份文档,你可以系统...