iOS中的代理和Block

来源:互联网 发布:苏州远洋数据有限公司 编辑:程序博客网 时间:2024/06/05 23:48

代理:

正向:A类到B类 -> A类如果想给B类传值 需要创建B类的对象给其属性赋值即可;

反向:B类到A类 -> B类怎么调用A类的方法呢? 答案:代理和Block

MVC开发模式中 -> M是模型 V是视图 C是控制器

C->V 正向传值:传M模型

V->C 反向传值:传事件和M模型

C 是代理方:遵守协议、指定代理、实现方法。 V是委托方:制定协议 有一个ID类型的Delegate指针。

Block:

V类中定义一个block->

typedef void(^ReturAmountEventBlock)(UIButton*);

申明一个属性

@property (nonatomic,copy)ReturAmountEventBlock returnAmountEventBlock;

调用:

if (self.returnAmountEventBlock)    {        self.returnAmountEventBlock(sender);    }

赋值:创建该类的对象赋值

[cell setReturnAmountEventBlock:^(UIButton* sender){        [self statusAction:sender];    }];
0 0
原创粉丝点击