iOS基础学习

Objective-C基础学习之OC的介绍-简述OC和C对比

2017-08-25  本文已影响22人  WenJim

1.源文件对比

文件扩展名 源类型
.h 头文件,用于存放函数声明
.c C语言源文件,用于实现头文件中声明的方法
文件扩展名 源类型
.h 头文件,头文件包含类、方法、属性的声明。
.m/.mm 类的实现文件,参与编译的文件,用来实现类中声明的方法

2.关键字对比

关键字对比.png

3.数据类型对比

C语言数据类型.png OC数据类型.png
类型 描述
BOOL 只有两个取值真和假
NSObject * OC中的对象类型
id 动态对象类型,万能指针
SEL 选择器数据类型
block 代码块数据类型

4.流程控制语句对比

if 语句
switch语句
while语句
do while语句
for语句
break关键字
continue关键字
for (int i = 0; i < 10; i++){
  printf(“%d”,i);
}
for (NSString *name in NSArray){
  NSLog(@”%@”,name);
}

5.函数(方法)定义和声明对比

对象方法
- (id)initWithString: (NSString *)name;

类方法
+ (MyClass *)createMyClassWithString: (NSString *)name;

6.面相对象特性

7.面向对象新增语法

//声明属性
@property (nonatomic,strong)NSString *name;

//合成属性
@synthesize name = _name;
@interface NSString (MyNSString)

- (NSString *) encryptWithMD5;

@end
@protocol MyProtocol

- (void)myProtocolMethod;

@end

8.新增异常处理

//创建对象car
Car *car = [Car new];
@try {
//调用一个没有实现的方法
    [car test];
}@catch (NSException *exception) {
    NSLog(@"%@",exception.name);
}@finally {
    NSLog(@"继续执行!\n");
}

9.#import和#include区别

10.NSLog 和printf区别

NSLog(@“this is a test”); //打印一个字符串
NSString *str = @"hello xiaomage!”;
NSLog(@"string is:%@",str);//使用占位符,%@表示打印一个对象,%@ OC特有的
NSLog(@"x=%d, y=%d",10,20);//使用多个占位符,%d表示整型数

11.“@”的使用方法

12.NS前缀

上一篇 下一篇

猜你喜欢

热点阅读