先来介绍一下历史背景,Cocoa和Objective-C是苹果公司Mac OS X操作系统的核心。虽然Mac OS X相对较新,但Objective-C和Cocoa的推出已有时日。早在20世纪80年代早期,Bard Cox就发明了Objective-C,意在将流行的,可移植的C语言与优雅的Smalltalk语言结合在一起。1985年,Steve Jobs成立了NeXT公司,致力于开发强大且经济的工作站。NeXT选择Unix作为其操作系统,创建了NextSTEP(使用Objective-C 开发的一款强大的用户界面工具包)。NextSTEP只是创造了一些特性,拥有少量忠实拥趸,并未在商业上获得成功。1996年,苹果公司收购NeXT之 后,NeXTSTEP被重命名为Cocoa,并得到推广。Objective-C只不过是拥有一些附加特性的C语言,有相关知识的童鞋们应该很快就能上 手!"Hello Word"从来都是经典中的经典!今天我们就来个"Hello Objective-C"吧。
先来介绍一下历史背景,Cocoa和Objective-C是苹果公司Mac OS X操作系统的核心。虽然Mac OS X相对较新,但Objective-C和Cocoa的推出已有时日。早在20世纪80年代早期,Bard Cox就发明了Objective-C,意在将流行的,可移植的C语言与优雅的Smalltalk语言结合在一起。1985年,Steve Jobs成立了NeXT公司,致力于开发强大且经济的工作站。NeXT选择Unix作为其操作系统,创建了NextSTEP(使用Objective-C 开发的一款强大的用户界面工具包)。NextSTEP只是创造了一些特性,拥有少量忠实拥趸,并未在商业上获得成功。1996年,苹果公司收购NeXT之 后,NeXTSTEP被重命名为Cocoa,并得到推广。Objective-C只不过是拥有一些附加特性的C语言,有相关知识的童鞋们应该很快就能上 手!"Hello Word"从来都是经典中的经典!今天我们就来个"Hello Objective-C"吧。
启动Xcode(版本:4.3.2),从File菜单中选择New->Project...->Mac OS X->Command Line Tool
单击Next->在Product Name文本框输入Hello Objective-C->Next->选择你要保存项目的地方->Create,生成项目。我们看一下项目生成之后的项目文件清单
我们可以看到,在Hello Objective-C项目中,包含三个主要的文件夹:
1.Hello Objective-C:项目源文件的存储文件夹,main.m源文件包含项目的主要代码
2.Frameworks:该文件夹包含项目引用的框架
3.Products:包含该项目生成的安装程序
让我们来单击源文件main.m,看一下项目的主要代码:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
NSLog(@"Hello, Objective-C!");
}
return 0;
}
#import <Foundation/Foundation.h>:引用Foundation框架
int main(int argc, const char * argv[]):作为程序的入口,返回整型类型
return 0:返回0,表示程序结束
@autoreleasepool:自动释放池,释放程序生成的各种资源,以后详述
NSLog(@"Hello, Objective-C!"):输出字符串Hello, Objective-C。这里要讲述一下两个要点:
1.是不是觉得NSLog()似曾相识,没错,其实这个方法与C语言中的Log()功能是一样的,都是输出文本。
这 里的NS正是代表着NeXTSTEP,所以函数前面具有NS,一般代表着Objective-C所特有的函数。
2.@"Hello, Objective-C!"表示一串字符串,这并不是Objective-C所特有的;就好像在C#里面就有:
@"\nHello Word"就有另外的一个效果,把转义字符\n(换行)强制用字符表示,没有了换行的效果,
所以输出的时候就有:\nHello Word。说回Objective-C,用@""只表示字符串,并没有特殊的用途,
如果去掉@,程序就会报错!
好,现在我们运行一下程序,单击XCode左上角带有黑色三角形的圆形按钮,看一下,我们程序的输出:
程序完满结束!