黑马程序员技术交流社区

标题: 昨天学的oc [打印本页]

作者: 赵云18235802528    时间: 2015-7-8 06:26
标题: 昨天学的oc
一. oc语言的历史
作者: 布莱德.麦克(Brad  Cox)

@autoreleasepool是自动释放池,用于收回对象的存储空间

一,import和include的区别;
import可以防止头文件的重复包含
include不能防止头文件重复包含


二,NSLog 和printf的区别:
1,NSLog可以自动换行, 输出调试信息,  printf不能.
2,NSLog 函数的参数是一个NSString 对象
3,printf函数的参数是一个字符串常量指针


三,@符号的含义:
1,@“”   将双引号的C字符串转换为OC的字符串对象NString;
2,OC中的一个特有标示符,很多关键字前面都加@。


四,OC可以访问C源文件中的函数。C不能方位OC中的源文件中的方法。(这里其实是向下兼容)



五.语言特点
源文件对比:
1,C中常见的源文件有.c 和 .h ;
2,OC中常见的源文件有.h 和 .m ;

基本语法对比:
1,数据类型对比:
首先OC兼容C中的所有数据类型;
OC新增了boolean类型、block类型、对象类型、特殊类型SEL和nil 等;
另外,C中不兼容OC中新增的类型;

2,流程控制语句对比;
首先OC兼容了C中所有的流程控制语句;
OC又新增了自己的for in 增强型的循环语句;
//OC中的增强型for循环
for(NSString *str in arr){
    NSLog(@"%@",str);
}

3,函数和方法定义声明的对比;
C语言中函数的声明和实现
i.函数声明:
int sum(int a,int b);

ii.函数定义
int sum(int a,int b){
    return a+b;
}

OC语言中函数习惯称之为“方法”
i.方法声明:
-(int)sum:(int) a and:(int) b;

ii.方法定义
-(int)sum:(int) a and:(int )b{
    return a+b;
}


作者: peng_gavin    时间: 2015-7-8 08:24
嗯嗯  OC总结的不错呦  楼主继续加油
作者: zlc    时间: 2015-7-8 11:02
加油加油!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2