Objective-C笔记-3

经过了过年的大(chang)吃(wei)大(yan)喝之后,轻轻松松瘦了5斤不是梦~趁着空挡,从新打开了我的,重写之前的OC笔记,顺带复习~~

OC和C对比:

1.源文件对比

C语言中常见源文件.h头文件,.c文件

文件扩展名源类型

.h头文件,用于存放函数声明

.cC语言源文件,用于实现头文件中声明的方法

OC中的源文件.h头文件,.m与.mm的实现文件

文件扩展名源类型

.h头文件,头文件包含类、方法、属性的声明。

.m/.mm类的实现文件,参与编译的文件,用来实现类中声明的方法


2.关键字对比

C语言的关键字都可以在OC源程序中使用

OC新增的关键字在使用时,注意部分关键字以"@"开头


这里的我觉得看看就好~反正我是记不得的,用起来才想去查

3.数据类型对比


c的


oc的

这里要简单的说下的是:

BOOL           只有两个取值真和假

NSObject *   OC中的对象类型

id                  动态对象类型,万能指针

SEL              选择器数据类型

block            代码块数据类型


OC中的类

Objective-C是一种面向对象的语言,定义类是它的基本能力。

那什么是类呢?类是用来描述对象的,它是一系列方法和属性的集合

Objective-C的类声明和实现包括两个部分:接口部分和实现部分。

想要定义方法也就C语言中的函数,那么就必须先有类的存在


4.流程控制语句

C语言中使用的流程控制语句OC中都可以应用

if语句

switch语句

while语句

dowhile语句

for语句

break关键字

continue关键字

(基本可以调用)

增强for循环,用于快速迭代数组或者集合

C语言for循环

for(inti =0; i <10; i++){ 

 printf(“%d”,i);

}

OC增强for循环

for(NSString*nameinNSArray){

NSLog(@”%@”,name);

}

通常数组会用可变数组,至于为什么以后文章再解释

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

C语言中函数的声明和实现

函数声明:int sum(int a,int b);

函数实现:int sum(int a,int b){ return a+b; }

OC中的方法

方法声明:- (int)sum:(int) a andB:(int) b;

方法实现:- (int)sum:(int) a andB:(int )b{ return a+b; }

注意: 方法只能写在类里面, 而函数可以写在任何地方

对象方法,使用对象调用的方法

类方法,使用类名调用的方法

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

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


6.面相对象特性

封装性

继承性

多态性 

(这个,很基本了吧???)

7.面向对象新增语法

属性生成器

@property

@synthesize

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

//合成属性@synthesizename = _name;

分类

分类与继承

使用分类扩展类,无需子类化

@interfaceNSString(MyNSString)- (NSString*) encryptWithMD5;

//code

@end

协议

使用协议声明方法

协议类似于C#,java中的接口

@protocolMyProtocol- (void)myProtocolMethod;

@end

Fundation框架

创建和管理集合,如数组和字典

访问存储在应用中的图像和其他资源

创建和管理字符串

发布和观察通知

创建日期和时间对象

操控URL流

异步执行代码

你可能感兴趣的:(Objective-C笔记-3)