分类: C/C++
2011-05-27 14:23:29
为了更好的方便各位同学理解和学习 object-c 编程语言,本文是我阅读 "programming in object-c 2.0" [在共享文件中可以下载] 后总结而成。目的在于帮助大家理解该英文教程中容易混淆的概念的实例。
首先建议各位最好别用unix shell 连运行你的 object-c 程序,虽然那样做是行得通的,但是面对以后我们“项目”中几十个文件你用shell来编译运行,是一件很费时间和精力的事情。就用xcode 吧,这也是为什么大家需要一台苹果电脑的原因。
我们从一个最简单的“hello world” 开始:标注为当前不需要理解的地方,后续会有详细的解释。
首先看到的应该是 object-c 是大小写敏感的,其次,程序的注释使用 // 或者 /* ..... */ 这和绝大多数类c语言是一样的。
#import
有经验的人会问,import 和 include 有什么区别,这里为什么不用 include?
首先需要说明,你仍然可以使用 #include
所以,忠告就是 永远不要在iOS开发中使用 include
int main (int argc, char *argv[]) ,这里出现了关键字 main 标志着主程序从这里开始,int 表示这个主程序是有一个返回值的,而且这个返回值还是一个整数。(int argc, char *argv[]) ,括号中写入的是程序参数,这里是命令行参数,我们以后再解释。
以上两行代码用来管理该程序的内存分配和释放。这里无需多讲,后面有专门的内存管理专题再做解释。
NSLog(@"hello,world"); 这里就是用来在命令行打印出 hello world 的代码了。NSLog 就是我们从 Foundation.h 引进的实例方法,你也可以把它理解成为一个函数,这个方法的作用就是让你通过特定的格式来输出一段文本,或者其他什么的。
如果我们想输出多行文本怎么办?
NSLog(@"hello,world\n helloworld2\n helloword3\n helloword4");
\n 的作用就是换行。
如果我们想输出 1+2 = 3 怎么办?
我们来修改主程序:
我们看到 通过定义了 2个整数变量 a,b 并为它们附值,在NSLog中,我们用%i 来表示变量类型,那么就是 一个变量 加上 另一个变量 等于某一个变量。然后分别按照顺序,来对应 a, b, a+b
执行结果:
Running…
2011-05-27 10:44:58.704 firstapp[876:a0f] 1+2=3
最后我们看到了一个 return 0,还记得我们的主程序int main 表示它是有一个返回值吗? return 0 的用意就在这里。
在默认情况下,main 的返回值就是一个整数,让我们删除 int ,并且删除 return 0 看看程序是否依旧能够执行
执行结果:
Running…
2011-05-27 10:46:13.262 firstapp[906:a0f] 1+2=3
由此可见,默认情况下,main是有返回值的,且返回值为整数。