Objective_C与C语言的区别

  1. C语言
    --
原文件为.c
基本数据类型
char 1个字节
short 2个字节
int 4个字节
long 4或8个字节
float  4个字节
double 8个字节
  1. Objective_C
    --

Objective_C不是一门全新的语言,是在C语言的基础上添加了一层最小的面向对象语法.

原文件为.m,.h
字符串对象需要有@字符;
Foundation框架下有NS前缀
新增的数据类型:
基本数据类型:BOOL类型,两个值 YES OR NO
指针类型:Class与id类型,instancetype类型,id为泛型与instancetype一致,但是instancetype只能作为方法的返回值类型,不能做方法的参数值类型.
Block类型:代码块数据类型
block一般分为4类;无参无返回值,有参无返回值,无参有返回值,有参有返回值
void(^block)(int a) = ^(int a){};
特殊类型:SEL,方法选择器,只能选择方法名称;
单例模式:
+ (instancetype)sharedObject {
    static RootViewController *rootVC = nil;
    static dispatch_once_t  onceToken;
    dispatch_once(&onceToken,^(){
    rootVC = [[RootViewController alloc] init];
});
}
Objective-C的类声明和实现包括两个部分:接口部分(.h文件)和实现部分(.m文件)
Objective-C中多了增强for循环,成为for in循环
函数可以嵌套调用,但是不能嵌套定义
category protocol extends

你可能感兴趣的:(Objective_C与C语言的区别)