iOS: 了解下 XCode 曾用过的编译器

之前聊到@property 的用法时,曾提到@Property 的变化是因XCode的变更引起的, 究其根本原因, 是XCode所用编译器发生变化造成的。

在XCode4之前,Apple 所用的编译器是 GNU C Compiler (简称 GCC)。 自XCode4 后, Apple 将XCode的编译器改为 Low Level Virtual Machine (LLVM)。

在GCC编译器时代, 声明一个@property时,必须为这个property创建一个实例变量(instance variable);

而在LLVM时代,不一定非得为这个@property创建实例变量, 当LLVM没有找到这个property对应的实例变量时,会自动地为它创建一个。这个在后台自动创建的实例变量,与@property 声明的变量,区别仅差一个下划线 (_)。

代码示例: @property (copy, nonatomic)  NSString  *myName;

默认隐藏创建的实例变量为:  _myName;   你直接调用这个_myName 实例变量, 是完全可用的 。

比如: 在.m 文件中,进行以下操作: _myName = @"This is my name";   等同于 self.myName=  @"This is my name";

小结:

了解下 Xcode的编译器历史,有助于理解为什么Xcode 中的某些语法经常变来变去。 @Property的变化是其中之一。类似变化有: 在基于storyboard 创建的 tableview 中,自Xcode4 之后, 也无需判断可重用的cell 是否为空了。

时间: 2024-12-16 20:03:09

iOS: 了解下 XCode 曾用过的编译器的相关文章

文顶顶 iOS开发UI篇—IOS开发中Xcode的一些使用技巧

iOS开发UI篇—IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下 按

IOS 之二 Xcode

关于Xcode集成开发环境安装使用与建立项目流程: 1.Xcode介绍及安装 Xcode:是苹果公司推出集成开发环境 语言:C/C++,objectc c,swift OSX,可用于IOS平台,ipad,iphone,苹果电脑 2.Xcode 创建IOS Single View项目 ①点击Create a new Xcode project(创建一个Xcode项目,选择IOS目录下Application), ②选择Single view Application,->next,填写项目名, 语言选

iOS开发UI基础—IOS开发中Xcode的一些使用技巧

iOS开发UI基础-IOS开发中Xcode的一些使用技巧 一.快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd + 0    工具窗口 在.m & .h之间切换           control + cmd + 上/下

【转】如何开发苹果iOS操作平台下的应用程序?

原文网址:http://zhidao.baidu.com/link?url=vxRWjCchSstFmVKvxEqLqfqomu2h5kF-NLAIVEehQgN_FnYtEi4f5yPMS6ywbUaw0D2IJ9Jqma7B1uH2WejPFq IOS平台下的应用开发属于移动开发,大概需要以下几点:1.首先你要有开发平台,也就是开发工具,IOS平台的开发工具是苹果公司自己提供的,包括Xcode,Interface Builder,Instruments,IOS模拟器,这些都已经集成在Xcod

总结iOS 8和Xcode 6的各种坑

总结iOS 8和Xcode 6的各种坑 项目路径坑 模拟器的路径从之前的 ~/Library/Application Support/iPhone Simulator 移动到了 ~/Library/Developer/CoreSimulator/Devices/ 这相当的坑爹,之前运行用哪个模拟器直接选择这个模拟器文件夹进去就能找到项目 现在可好,Devices目录下没有标明模拟器的版本,图片上选中的对应的可能是iPhone 5s 7.1的 然后图片上的文件夹对应的应该是 iPhone 4s 7

《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营

编写Hello World应用程序通常被觉得,是学习不论什么编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,高速了解Xcode这个开发iOS应用程序的主要工具. 下一步.你将学习Objective-C的基础知识.在此基础之上.将探索类(class)与对象(object)的知识.它们是构建应用程序的主要基石.与此同一时候,你将创建CarValet应用程序,练习一些类的编写.并学习属性(property)的知识.在本章末尾,你将在指导下完毕编程挑战题以探索子类扩

(转)总结iOS 8和Xcode 6的各种坑

项目路径坑 模拟器的路径从之前的 ~/Library/Application Support/iPhone Simulator 移动到了 ~/Library/Developer/CoreSimulator/Devices/ 这相当的坑爹,之前运行用哪个模拟器直接选择这个模拟器文件夹进去就能找到项目 现在可好,Devices目录下没有标明模拟器的版本,图片上选中的对应的可能是iPhone 5s 7.1的 然后图片上的文件夹对应的应该是 iPhone 4s 7.1 iPhone 4s 8.0 iPh

《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营

编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,快速了解Xcode这个开发iOS应用程序的主要工具. 下一步,你将学习Objective-C的基础知识.在此基础之上,将探索类(class)与对象(object)的知识,它们是构建应用程序的主要基石.与此同时,你将创建CarValet应用程序,练习一些类的编写,并学习属性(property)的知识.在本章末尾,你将在指导下完成编程挑战题以探索子类扩展的知识

iOS开发 统计xcode代码行数

如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs wc -l 列出每个文件的行数 find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or