第一个OC程序解析

【转自】http://www.cnblogs.com/mjios/archive/2013/04/06/3002770.html

说明:这个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函数。

[email protected]

在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文件。

1) Foundation框架中包含了很多常用的类和函数,比如字符串处理类NSString、日志输出函数NSLog。它的重要程度相当于Java中的java.lang.*

2) 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 "..."表示包含开发人员自己创建的文件

时间: 2024-12-17 21:21:57

第一个OC程序解析的相关文章

【Objective-C】04-第一个OC程序解析

说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题. 在上一讲,已经新建了第一个OC程序,这讲就来解析它内部的代码. 查看项目结构可以发现这个程序中只有一个源文件:main.m 打开main.m文件,代码如下 1 #import <Foundation/Foundation.h> 2 3 in

第一个OC类、解析第一个OC程序

01第一个OC 类 本文目录 • 一.语法简介 • 二.用Xcode创建第一个OC的类 • 三.第一个类的代码解析 • 四.添加成员变量 • 五.添加方法 • 六.跟Java的比较 • 七.创建对象 • 八.访问公共成员变量和方法说明:这个Objective-C专题,是学习iOS开发的前奏,也为了让有面向对象语言开发经验的程序员,能够快速上手Objective-C.如果你还没有编程经验,或者对Objective-C.iOS开发不感兴趣,请忽略.学习本专题之前,建议先学习C语言专题.OC是一门面向

【Objective-C】03-第一个OC程序

一.打开Xcode,新建Xcode项目 二.选择最简单的命令行项目 因为我们只是学习OC语法,还未正式进入iOS开发,所以选择命令行项目即可 三.输入项目名称,选择Foundation框架进行创建项目 * Type一项一定要选择Foundation框架,因为OC的常用类都包含在此框架中 * 最下面的"Use Automatic...."暂时不要勾选,这跟内存管理有关系.讲到内存管理的时候再说 四.点击Run,运行项目 * C语言的源文件拓展名为".c",OC的源文件

黑马程序员----第一个OC程序

一.#import 1.#import的作用: 跟#include的作用一样,拷贝文件 可以自动防止文件的内容被重复拷贝 2.#import <Foundation/NSObjCRuntime.h> NSObjCRuntime.h文件中有SLog函数的声明 二.Foundation框架头文件的路径 1. 右击Xcode.app --> 显示包内容   2. Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer

第一个OC程序

第一个OC程序源码如下: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool{ NSLog(@"Hello,World!"); } return 0; } 下面对这个输出"Hello,World!"的OC程序做下介绍: #import #import是GCC编译器提供的,可以保证头文件只被包含一次. #import <

2、第一个OC程序

方法一:在Mac终端下运行第一个OC程序 1> 先装好Xcode6.1.1 2> 打开终端工具 3>使用unix命令执行以下操作: 附上代码(003.m): #import <Foundation/Foundation.h> int main () { //NSLog执行之后会自动换行 NSLog (@"\n第1个OC程序!!!"); return 0; } /* 1.#import的用途:  1> 跟#include一样,拷贝文件的内容  3>

第一个OC程序 HelloWorld

打开Xcode,新建一个Xcode项目,在OS X下面选择Application,再选择Command Line Tool,点击next,再下一个页面输入项目名称,点击next就完成了.此时,我们可以看到一个main.m的文件,其中有如下代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@&

黑马程序员 01-第一个OC程序

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 1.代码编写 跟C语言一样,OC程序的入口是main函数,只不过是写在OC的源文件(.m文件)中. 比如这里的第一个OC main.m文件中(文件名可以是中文): 1 #include <stdio.h> 2 // OC程序的入口:main函数 3 // OC程序完全兼容C语言 4 int main(int argc, const char * argv[]) 5 { 6     printf("

02第一个OC程序

一.打开XCode4.6.3,新建项目 二.选择Application下的命名行项目 三.输入项目名称,选择Foundation框架创建项目,点击Next 四.二话不说.点击Run.启动我们创建的项目 可以看到输出结果: 好了,第一个OC应用创建完毕!接下来解释下Main.m的内容: 1.#import是一个导入命令,类似于C语言的#include命令,但是相对于#include而言,#import有效的处理了重复导入的问题,在C语言中也提到过如何通过条件编译解决重复导入,而在OC中你不需要处理