梳理一下ios开发的环境、工具、框架
Cocoa
是在Mac OS X系统原生的一个编译环境。包含两个框架,其实就是一系列的类库,Foundation和AppKit。
Cocoa Touch
是Cocoa的一个子类,用于在iPhone等掌上设备。由Foundation和UIKit构成,掌上设备的特殊图形化设计,UIKit提供界面支持。
Cocoa和Cocoa Touch区别在于,Cocoa Touch不支持垃圾回收机制,所以我们在做移动端开发的时候需要严格管理好自己的内存,但是iOS 5之后也提供一直内存管理机制,ARC(自动引用计数)帮助自动处理内存。
Foundation
提供了一系列基础数据类型、以及枚举、容器的支持。来自于这个框架的类名以NS开头
UIKit
iOS 上的图形化界面控件包,这个框架下的类都是以UI开头的。在Mac OS X中AppKit的框架下的类都是已NS开头的。(随便普及一下NS的来源,NS前缀的来自NextSTEP,当时是NeXT Software公司(1996被苹果收购)的产品。这家公司是乔布斯在1985年被苹果公司辞退之后同年成立的,苹果公司没有破坏为NextSTEP编写的代码的兼容性,继续使用NS前缀。Cocoa已占用了NS前缀,所以不能再给你的任何变量和函数名称添加前缀NS。)
Objective-C
一门iOS和Mac OS X上应用开发的语音,是C语言的超集,面向对象的开发语言。
Xcode
在Mac OS X上的一个IDE,主要用于代码的编写。更新至8.3.2
Interface Builder
XCode的一部分,用于UI设计。XCode5解决了团队协作问题,引入Autolayout(自动布局),和Xib,配合使用。Interface Builder简化了UI设计,从繁琐的代码工作中解脱出来,但是个人觉得当应用稍复杂时,拓展性和移植行不高,维护不是很方便。
我们来看看XCode支持创建那些Xib文件:
1.Storyboard
故事板,本质还是Xib,但是更好的展示了Xib与Xib之间的连贯和联系。整个项目界面设计可以完全依托故事板来开发。
2.View
View是我们最常用的方式,初始化一个View关联到对应的类,实现交互。
3.Empty, Window, Application
这三个我不是很常用,感兴趣可以自己玩一下。