首页 > 其他 > 详细

OC中的Block数据类型和protocol

时间:2015-02-09 21:29:27      阅读:323      评论:0      收藏:0      [点我收藏+]

Block数据类型

作用:封装一段代码,可以再任何地方执行。

定义格式:返回值类型 (^变量名)(传入的形参的数据类型) = ^(传入代码块的参数){代码块};

调用方法:变量名(实参);

block其实与函数差不多,他们的相同之处有:

1.都可以保存代码

2.都可以有返回值

3.都有形参和实参

4.调用方式一样

使用注意:

1.Block内部可以访问外面的成员变量

2.默认情况下,Block内部不能修改外面的局部变量

3.如果一定要在Block内部修改外面的局部变量,可以再该局部变量前加__block关键字,这样这个局部变量就可以在Block修改该局部变量

Protocol(又叫‘协议’)

基本用途:可以用来声明一大推方法(不能声明成员变量),只要某个类遵守了这个协议,就相当于拥有这个协议的所有方法声明。只要父类遵守了某个协议,就相当于它的子类也遵守了。协议中有两个关键字:@required(默认):如果在某个声明上表明了,就证明这个方法必须要实现,不然会警告。@optional:这个方法不一定要实现,是可选择的。

注意:一个协议可以遵守了其他多个协议,多个协议之间要用逗号隔开,一个协议遵守了其他协议,就相当于了其他协议中的方法声明。protocol同NSObject基类一样,NSObject也是一个基协议,是最根本最基本的协议,建议每个新的协议都要遵守NSObject协议。

用法是:@interface 类名 <协议名>,也可在定义一个变量的时候,限制这个变量保存的对象保存某个协议。如:类名<协议名称>  *变量名;@property 也可用做遵守协议限制 如:@property (nonatomic, strong)Person<协议名称> *person;

 
 

OC中的Block数据类型和protocol

原文:http://www.cnblogs.com/jingdian/p/4282383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!