黑马程序员技术交流社区

标题: OC和C差异学习 [打印本页]

作者: Star_FDt78    时间: 2015-12-16 18:29
标题: OC和C差异学习
OC和C差异学习

1.文件的差异
2.数据类型的差异
3.关键字差异
4.流程控制语句
   oc重并没有新加流程控制
   oc中提供了一种增强型的for循环
   NSArray *arr=@[@“one”,@“two”,@“three”];
   for(NNString *str in arr){
       NSLog(@“%@”,str);
}
5.oc中函数的定义和声明的差异
c语言中:
int max(int x,int y);
int max(int x,int y){
    returnx>y?x:y;
}
oc中把函数称之为方法
-(int)sum:(int) a and:(int) b;//声明
-(int)sum:(int) a and:(int) b{//定义
    return a+b;
}

.h 头文件,包含方法,属性的声明
.m 类的实现文件,参与编译的文件,用来实现类中声明的方法

基本语法对比
数据类型对比

c语言:五大数据类型

oc数据类型:
1> 基本数据类型:数值型(整形,浮点型),字符型(char),布尔型(boolean),空类型(void)
2> block类型
3> 指针数据类型(类class,id类型)
4> 特殊类型(SEL,nil)

注意:
c语言的关键字都可以在oc重使用
oc新增的关键字在使用时,部分关键字以@开头


1.oc中新增的数据类型介绍
Boolean id class block SEL
1> Boolean 允许取值true或false,也可以是0或非0得正数代替true和false,这点和java不同
Boolean flag =true;
printf(”flag = %d\n”,flag);//结果为1

2> 存放逻辑值的另外一种方法
BOOL 他的取值 yes真1   no假0




2.异常捕捉的介绍

@try{
    //此处放有可能出错的代码
    int result = a/b;
}
@catch(NSException *exception){
    //捕捉最具体的异常类型
}
@catch(NSException *ne){
    //捕捉一个重要的异常类型
}
@catch(id ue){
    //再次掷出捕获的异常
}
@finally{
    //不管有没有出错都会执行的代码
}







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