OC第一个程序的解释

来源:互联网 发布:印度巴基斯坦 知乎 编辑:程序博客网 时间:2024/05/16 07:15

这个大家可以当做复习资料吧,毕竟没有针对零基础, 如果你有特别好的C语言功底,并且熟悉了面向对象的思想,学起来OC肯定是很容易的!

//C和OC语言的区别和联系:/* 区别: 1、C语言的源文件后缀是.c  而OC语言的源文件后缀是.m 2、C语言是面向过程的语言 而OC语言是面向对象的语言 联系: OC语言是基于C语言的 所以完全兼容C语言的语法 OC语言只是在C语言的基础上加上了最小的一层面向对象的语法  剔除复杂的面向对象语法 留下的都是精华 所以OC语言较C++语言的学习 容易很多 */#import <Foundation/Foundation.h>//这么描述的意思是导入了Foundation框架中的Foundation.h这个声明文件/* Foundation 是OC里最重要的一个框架(基础类库),里面封装了大量的类和方法以及结构体和函数、枚举  因为面向对象语言里的框架大都非常的大,所以一般框架都会把框架内所有的头文件放到一个头文件里,这个头文件称之为主头文件,这样在代码中把这个主头文件导入的时候,就相当于把框架内的所有头文件都导入了  #import "" 导入OC的头文件,导入系统自带的头文件用<>,导入自定义的头文件用"",编译器会自动判断该头文件是否重复包含 如果重复包含 多次引入 就不会执行 可以避免头文件的交叉编译  #include "" 导入的是C的头文件  头文件可能会出现交叉编译 所以需要在预处理阶段手动添加条件编译语句 #ifndef #define #endif */int main(int argc, const char * argv[]) {    //oc的main函数同样是入口函数,有且仅有一个main函数    @autoreleasepool {//OC的关键字以@开头 防止跟C语言、C++关键字冲突(字符串也是@开头)        /*         自动释放池 释放对象内存  只能在一定程度上去帮助我们管理对象的释放,本身自动释放池也是一个对象,所以这个对象再使用完成后也是需要释放的         首先,我们要把我们需要自动释放池管理的对象入池,当自动释放池对象释放的时候,会对所有池内的对象进行释放         */                NSLog(@"Hello, %@",@"my readers!");//NSLog是OC中的打印输出函数,同样支持格式输出。        printf("Hello,%s\n","my readers!");        /*         @"Hello, my readers!";  字符串对象 是有属性和行为的         "Hello, my readers!";   C字符串  是一个基本数据类型 没有属性没有行为         %s 打印的是C的字符串         %@ 打印的时OC的字符串对象                  NS 是NEXTSTEP的缩写(OC系统函数、系统类的前缀,所以我们设计类应该尽量避免使用NS打头)         */        /*         NSLog和printf的区别         1、NSLog会为打印输出的内容添加时间戳         2、NSLog会自动换行 而printf打印输出语句必须添加转义字符\n进行换行         */            }// 这个括号的位置,就是自动释放池销毁的地方    return 0;}


怎么样,对OC有个大概的认识了吧,之后会介绍更多的内容,方便大家学习。

1 0