OC 和 C对比学习
1)文件的差异
2)数据类型差异
3)关键字差异
4)流程控制语句
OC中并没有增加新的流程控制
OC中提供一种增强型的for循环
NSArray *arr=@[@"one",@"two",@"three"];
for(NSString *str in arr){
NSLog(@"%@",str);
}
5)OC中函数的定义和声明的差异
C语言中的函数
int max(int x,int y);
int max(int x,int y){
return x>y?x:y;
}
OC中把函数称之为方法
+(void) test;
-(void) test;
-(int)max:(int)x andY:(int) y;
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *arr=@[@"one",@"two",@"three"];
//OC中的增强型for循环
for(NSString *str in arr){
NSLog(@"%@",str);
}
}
return 0;
}
OC和C的差异二
1)OC中新增加的数据类型
(1)Boolean (布林)
作用:用来存放逻辑值 (1、真(非0) 2、假(0))
用来做判断
存储的值:true(真 1) false(假 0)
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
(2)BOOL
作用:也是用来保存逻辑值
取值:YES(真 1) NO(假 0)
BOOL flag2 = YES;
if(flag2){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
2) OC中的异常捕捉机制
异常: 程序运行的时候有bug
捕捉机制:排除错误
@try {
//如果有异常
1/0
< #statements#>
。。。。。。。
}
@catch (NSException *exception) {
//捕捉最具体的异常类型
< #handler#>
}
@catch (NSException *ne) {
//捕获一个比较重要的异常类型。
?
}
@catch (id ue) { //再次掷出捕获的异常。
}
@finally { //不管有没有异常finally内的代码都会执行。
< #statements#>
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//Boolean的使用
//true 1 false 0
Boolean flag = true;
if(flag){
NSLog(@"真 %d",flag);
}else{
NSLog(@"假 %d",flag);
}
//BOOL类型
BOOL flag2 = YES;
if(flag2){
NSLog(@"BOOL YES 真 %d",flag2);
}else{
NSLog(@"BOOL NO 假 %d",flag2);
}
}
return 0;
}
|
|