ios软件开发委托代理实现介绍

//委托实现步骤: 

1. 定义协议方法的类  首先得声明协议方法
  
实现协议方法的类 (代理 ) 需要在自己的类中实现协议方法

2.任何对象 都可以调用协议方法 满足两个条件

1). 实现协议方法
2 ).使用协议方法 把自身传到定义协议方法的类中

步骤 :

1. 声明
协议 方法:(声明协议方法可以带参数  将想要的东西传过去)

//protocol 协议
//@protocol  声明一个协议
//<NSObject>表示这个协议实现了NSObject 协议  类似于类中的继承

@protocol  TwoViewControllerdelegate < NSObject >

//@optional  可选的    @required  必选的协议方法
//只是起一个标示的作用  供别人查看的 
//定义协议方法的类  只负责协议方法的声明
@optional

-(
void )clickedButtonAtIndex: ( int )tag;

@end

2.判断:

  //判断我们传过来的对象 能不能响应协议方法 能够响应协议方法  才执行调用协议方法的代码
   
   
  //对于可选的协议方法 要加下面的判断
   
   
  //不能响应协议方法的两种情况  1.没有讲对象传过来  2. 使用协议方法的类  没有实现协议方法
   
   
  //对于必选的协议方法  就不添加下面的判断
   
  if  ([ _delegate  respondsToSelector : @selector (clickedButtonAtIndex:)]) {
       
      [
_delegate  clickedButtonAtIndex :sender . tag ];
    }
   
  else
    {
       
  //不能响应协议方法
       
  if  ( _delegate  ==  nil ) {
           
           
  NSLog ( @"没有讲对象传过来" );
        }
   
  else
    {
       
  NSLog ( @"协议方法没有实现" );
   
    }
   
    }

3. 实现

如果想要在实现协议方法的类中 输入协议方法的时候  有提示  可以在该类的.h 文件中导入声明的协议方法的 协议 

//注意  :  需要将该类对象传到声明协议方法的类中 即:

1.首先在声明协议方法的.h 文件中描述一个任意类型的属性接收 描述属性的时候  用 assign 是为了防止循环引用

@property  ( nonatomic , assign ) id   delegate;

2.在实现协议方法中的类中   将对象传过去

vc. delegate  =  self ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值