好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

第一个OC程序

第一个OC程序

第一个OC程序

说明: 这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C。如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略。 学习本专题之前,建议先学习 C语言 专题。

一.打开Xcode,新建Xcode项目

二.选择最简单的命令行项目

因为我们只是学习OC语法,还未正式进入iOS开发,所以选择命令行项目即可

三.输入项目名称,选择Foundation框架进行创建项目

 

* Type一项一定要选择Foundation框架,因为OC的常用类都包含在此框架中

* 最下面的"Use Automatic...."暂时不要勾选,这跟内存管理有关系。讲到内存管理的时候再说

四、点击Run,运行项目

* C语言的源文件拓展名为".c",OC的源文件拓展名为".m"

* main.m文件是我们这个程序中的唯一一个源文件

* 编译器会将.m文件编译为.o目标文件,比如main.m编译成功后会变成main.o文件

* 运行结果为:

 2013 - 04 - 06   15 : 35 : 32.583  第一个OC程序[ 429 : 303 ] Hello, World!

第一个OC程序就这样运行成功了!

 

 

分类:  iOS开发前奏2-Objective-C

标签:  ios ,  iphoe应用开发 ,  ipad应用开发 ,  objective-c

说明: 这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C。如果你还没有编程经验,或者对Objective-C、iOS开发不感兴趣,请忽略。 学习本专题之前,建议先学习 C语言 专题。

在上一讲,已经新建了 第一个OC程序 ,这讲就来解析它内部的代码。

查看项目结构可以发现这个程序中只有一个源文件:main.m

打开main.m文件,代码如下

  1   #import  <Foundation/Foundation.h>
  2  
  3   int  main( int  argc,  const   char  *  argv[])
   4   {
   5  
  6       @autoreleasepool {
   7          
  8           //   insert code here... 
  9          NSLog( @"  Hello, World!  "  );
  10          
 11       }
  12       return   0  ;
  13  }

1.程序的入口点:main函数

跟C程序一样,OC程序的入口点依然是main函数。在main.m的第3行已定义了一个main函数。

2.@autoreleasepool

在Java中,有垃圾回收机制,系统会自动回收不再使用的对象;而OC是 不支持 垃圾回收的,需要开发人员编写代码来释放对象所占用的内存。在第6行有个@autoreleasepool{},这是跟内存管理有关的,暂时不用理解它的意思,你只需要记住:以后的OC代码都写在 @autoreleasepool 的{}内部。

3.NSLog

1> 第9行的NSLog是一个日志输出函数,它可以将传入的OC字符串参数输出到控制台上。

2> 函数参数@"Hello, Wolrd!"是一个OC字符串,并不是C语言字符串,所有OC字符串的前面都有个@。

3> 第9行代码NSLog(@"Hello, World!");的输出结果是:

红框左边的信息是NSLog自动加上去的,比如日志输出时间、项目名称等。而且 NSLog输出完毕后自动换行 。

4> NSLog也可以像C语言的 printf函数 一样支持格式符

 1   int  age =  10  ;
  2  NSLog( @"  My age is %i and height is %.2f  " , age,  1.55f );

* %i表示接收整型数据

* %f表示接收浮点型数据,%.2f表示保留2位小数

* 输出结果:

 2013 - 04 - 06   17 : 43 : 07.380  第一个OC程序[ 693 : 303 ] My age  is   10  and height  is   1.55 

4.#import

1> #import是一个预处理指令,作用跟C语言的 #include 类似,都是  包含(拷贝)某个文件的内容 到 预处理指令所在的位置 。

2> 第1行的 #import <Foundation/Foundation.h> 表示包含Foundation框架中的Foundation.h文件。

Foundation框架和Foundation.h文件的位置:

3> 我 在 C语言专题 的 第三讲 说过:.h称为头文件,一般用来声明一些函数,想要使用这些函数,就必须用#include包含函数所在的头文件。我们在第9行中使用的NSLog函数存在于Foundation.h文件中,因此要先包含Foundation.h文件才能使用NSLog函数。就好像在Java中,你用import关键字引入一个类后才能正常使用这个类。

4> 在C\C++中,我们用#include来包含头文件,缺点就是同一个头文件可能被包含多次。为了解决这个问题,一般会这样写头文件:

  #ifndef  _TEST_H_
  #define  _TEST_H_

 /*  .....  */ 

 #endif 

我们在OC中,就使用#import来 包含 头文件,优点是 可以自动防止同一个头文件被 包含 多次 。

5> #import <...>表示 包含 系统自带的文件,#import "..."表示 包含 开发人员自己创建的文件

 

 

分类:  iOS开发前奏2-Objective-C

标签:  ios ,  iphoe应用开发 ,  ipad应用开发 ,  objective-c

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于第一个OC程序的详细内容...

  阅读:40次