02第一个OC程序解析

来源:互联网 发布:詹姆斯五项数据第一 编辑:程序博客网 时间:2024/05/01 19:25
查看项目结构可以发现这程序中只有一个源文件:main.m


打开main.m文件,代码如下
 #import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
  
    @autireleasepol {

       NSLog(@"Hello,Object-c");
     }
    return 0;
}

1.程序入口点:main函数
跟c程序一样,oc程序的入口点依然是main函数。在main.m的第三行已定义了一个main函数

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

3.NSLog
 NSLog 是一个日志输出函数,他可以将传入的OC字符串参数输出到控制台上。
函数参数@"Hello,Object-c"是一个OC字符串,并不是C语言字符串,所有OC字符串的前面都有个@,NSLog输出完毕后自动换行

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

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

* %i表示接收整型数据

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



#import
 #import 是一个预处理指令,作用跟C语言的#include类似,都是包含(拷贝)某个文件的内容 到 预处理指令所在的位置
  第一行的#import <Foundation/Foundation.h>表示包含Foundation框架中的Foundation.h文件
Foundation框架中包含了很多常用的类和函数,比如字符串处理类NSString、日志输出函数NSLog,它的重要程度相当于Java中的Java.lang.*
  Foundation框架和Foundation.h文件位置
 
   .h称为头文件,一般用来声明一些函数,想要使用这些函数,就必须用#include包含函数所在的头文件。我们在第9行中使用的NSLog函数存在于Foundation.h文件中,因此要先包含Foundation.h文件才能使用NSLog函数。就好像在Java中,你用import关键字引入一个类后才能正常使用这个类。
    在C\C++中,我们用#include来包含头文件,缺点是同一个文件可能被包含多次。为了解决这个问题,一般会这样写头文件:
   
#ifndef _TEST_H_ #define _TEST_H_ /*.....*/ #endif
0 0
原创粉丝点击