21,1980s年代,Objective-C被主要当中开发语言应用在NeXTStep操作系统,也就是Steve Job发起的电脑公司NeXT。NeXTStep不论精神上和始祖上,皆是OS X的前 身。一直到现在iOS上用的Cocoa Touch class name是用NS为开头,像是NSString 和NSArray,这都是可以追溯回到NeXT。现在最新语言是Objective-C是2.0,在 2007年10月和OS X Leopard一起发布的。强调拥有“modern garbage collection, syntax enhancements, runtime performance”
22,为什么很多类是以NS开头的
在iPhone/iPad开发中,很多类是以NS名字空间开头的。原因是这些类是源于Cocoa基础类,而Cocoa基础类最初来源于NeXTStep。所以Cocoa很多类是以NS开 头命名。iOS使用了Cocoa基础类。
23,The Cocoa API
Cocoa是目前主要的架构。是Apple从NeXTSTEP向OPENSTEP开发出来。有一套预定义的类和类型比如NSNumber,NSstring,NSdate等。NSObject是一个根类, 里面包含了比如alloc,retain, release等函数,用来关系对象的生命周期。
24,总括
Objective-C是面向对象的语言
遵从ANSI C标准C语法,同时使用了Smalltalk的方法
在运行时可以灵活处理所以事情
运行时非常灵活:
Dynamic Binding动态绑定
Dynamic Typing动态检查
Dynamic Linking动态链接
Objective-C可以认为是继承了C和Smalltalk优点
Development
Tom Love在Schlumberger中心获得了Smalltalk-80的一份商业版权拷贝,然后设计出了Objective-C
1986年他们发布通过Stepstone公司发布Objective-C产品
NeXT and NeXTSTEP
1988年Steve Jobs获得了Objective-C的使用版权用在NeXT
使用Objective-C来编写NeXTSTEP操作系统
Objective-C使得设计NeXTSTEP操作系统更加容易
NeXTSTEP是从BSD Unix系统演变而来
在1995年,NeXT从Stepstone得到了Objective-C全部版权
Apple and Mac OS X
NeXT在1996年被Apple公司接管。Steve Jobs开始在Mac OS X中使用Objective-C
重新设计了Mac OS来使用Objective-C
使用Objective-C开发了一套Cocoa GUI库
重新发布了Mac OS X(10)
Dynamic Language
几乎所有的工作都可以在运行时处理
使用动态链接,动态绑定,动态检查
最大的灵活性
最小化RAM和CPU使用 |