ios总结控件(delegate1)

delegate:(1)

代理:

首先我们假如有两个视图控制器A和B 。我们在A中建立一个label,在b中建立一个 button,这时我们想要的到b中button的内容,我们就采用代理( 当然用沙盒也可以,将b中的值保存在沙盒中,然后通过全局变量带回给A). 所谓代理就是作为想要获得代理的一方通过遵守被代理的一方的协议,作为奖励,被代理一方会给代理者一个值,我们在实际应用中可以通过这种方式,从一个界面获取另一个界面的值。

具体如何执行如下:

我们建立第一个视图控制器 

"FirstViewController.h”

第一:

在本视图控制器中建立一个label,同时给他一个tag(用来接收奖励的一个身份)

第二:

创建一个button按钮(按钮的方法中引用跳转到b)

secondView.delegete =self;本语句是高速b视图控制器,我要遵守你的协议

第三:

在第一个视图控制器"FirstViewController.h”文件中把第二个视图控制器引入

然后把协议写进去,例如:@interface FirstViewController :UIViewController<ShowButtonDelegate> 也就是拿到协议 

我们建立第二个视图控制器,也就是制定协议的一方

"SecondViewController.h"

第一:先声明协议,也就是制定协议

@protocol ShowButtonDelegate <NSObject>

-(void)showButtonTitle:(NSString *)string;

@end

第二:说明什么样的人可以遵守协议

@interface SecondViewController :UIViewController

任何一个满足我协议的都可以用到

@property (nonatomic,assign)id <ShowButtonDelegate>delegete;

@end

第三:在本视图控制器中建立按钮用来作为奖赏提供给其他遵守我协议的人

第四:也就是补充第三步给他提供一个方法

-(void)buttonTapped:(UIButton *)button{

提供给按钮标题的人

   if([self.delegeterespondsToSelector:@selector(showButtonTitle:)]){

        [self.delegeteshowButtonTitle:button.titleLabel.text];

    }

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值