Objective-C 学习笔记(一) 第一个Hello World程序
1,274 views 六月 23, 10 by Timothy最近抽空一直在学习Objective-C,打算不久的将来和同事一起搞iPhone应用开发,所以也咬牙入了Mac Mini和iPhone 3GS。教程看的是《Objective-C基础教程》(Learning Objective-C on the Mac),一本比较初级的教程,也比较适合入门。看了一大半了,不过发现没有动手实际写代码,很多东西还是容易遗忘。正所谓一个好脑袋,不如一支烂笔尖,虽然现在早已不是笔和纸流行的时代,还是打算把自己理解的东西,用学习笔记的形式,把这些记录在偶的Blog中,供以后参考和复习。
废话不多说了,先介绍下Objective-C,Objecive-C是对原有的C语言的扩展,它通过对C语言进行最小集合的扩展,使其本身具有了面向对象的能力。Objective-C并不是一个新的语言,早在20世纪80年代,就诞生了。
这里需要理解几个概念(Key concepts):
Objective-C: 对C语言的扩展,一门面向对象的编程语言
Cocoa: 苹果公司为Objective-C提供的工具包
Cocoa和Objective-C是苹果公司Mac OS X操作系统的核心
Cocoa的前身,是NextSTEP,是Jobs在成立NeXT公司时创建的一款功能强大的用户界面工具包,后来NeXT公司被苹果收购,NextSTEP被更名为Cocoa,这也是Cocoa的由来了。其实在很多Cocoa的函数中,有大量的函数是以”NS”开头的,NS就是NextSTEP的缩写,属于历史遗留问题了。而这些函数的命名也一直被保留下来。
按照惯例,任何编程语言都是以Hello World开始的,下面是Objective-C的Hello World程序:
1 2 3 4 5 6 7 8 | #import <fundation fundation.h> int main(int argc, const char *argv[]) { NSLog(@"Hello World and Objective-C!"); return (0); } // main |
#import关键字: 类似于C语言里面的include。不过import比include更加智能。为了在C中的多个地方,不重复包含同一个头文件,常常需要用#ifdef等相关的预编译指令来进行判断。Objective-C中更为方便,只需要用import关键字简单实现头文件的包含即可,而不必担心同一个头文件会在多个地方被重复包含。
NSLog函数: 用以输出字符串,其中和C语言有个不一样的地方,字符串前面有个@符号。表示后面的字符串是属于NSString,而不是一般的字符串。NSString类型是Cocoa中特有的字符串类型。
运行程序,输出结果,就是打印一串字符串。
第一篇笔记到此结束,以后继续……
声明: 此Blog中的文章和随笔仅代表作者在某一特定时间内的观点和结论,对其完全的正确不做任何担保或假设
本站文章均采用 知识共享署名-相同方式共享3.0 协议进行授权,除非注明,本站文章均为原创,转载请注明转自 Timothy's Space 并应以链接形式标明本文地址!
学无耻境,赞!
@lonkil: 不记下来,怕忘掉了
java也是用import导入相关类,HOHO
@久酷: 嗯,java也有这关键字
我已经升级到了FF3.6.4这里还显示3.6.3貌似不识别
@久酷: 不会吧,那我的为啥显示正确? 你的FF没升级成功?哈哈~
加油,我的考试马上就结束了。
@Ben: 祝考试顺利通过……
一窍不通……没劲头再从头学一门语言了
@zwwooooo: 其实,编程很多东西是相通的,呵呵
只看到它在iPhone开发里面出现过,不知有没有用objective-c来做在windows平台上跑的软件的呢?为什么它的很多特性比C++好,却抢不下c++的市场呢?
@C瓜哥: Win下的还没见过,或许有。
好东西,学习了!
@Ray: 多谢关注