IOS--Delegate 自定义之个人感悟

来源:互联网 发布:linux libxml2 安装 编辑:程序博客网 时间:2024/05/17 06:53

一直对自定义的 delegate 不是特别明白 找了大神讲解一下之后 有所顿悟 记下 为了以后理解方便
捋一下思路 举个栗子
A 开了公司 需要招人 就写了合同 delegate 并设置了应聘者的属性 将合同贴在了电线杆上 等人来 (在自身的.h 文件中写合同 和属性)
B 无业游民 发现了 电线杆的合同 觉得不限学历条件 活也简单 就接下合同 找 A 来了 (决定遵守协议)
A 看 B 长得挺好看 也遵守 delegate 合同 就同意了 B 签字遵守 合同生效 (协议生效)
A 告诉B “我需要喝水的时候 说 “喝水” ,你就干活 ” (这就是时机)

在代码中的体现就是
1.A 公司招聘

A 就是 SecondViewControllerDelegate 公司#import <UIKit/UIKit.h>#warning 代理传值的第一步,定义协议@protocol SecondViewControllerDelegate <NSObject>//这个是我协议里面的方法(合同)-(void)passValue:(NSString *)text;@end

2.对应聘者的要求

@interface SecondViewController : UIViewController// #warning 代理传值第二步, 属性 对应聘者的要求@property (nonatomic,assign)id <SecondViewControllerDelegate>delegate;@end

3.B B 看见了合同觉得他可以 愿意成为代理对象 .m 中

// B就是 self;  secondVC.delegate就是公司合同   secondVC.delegate = self;//写在干活的人的文件里面

4.A 看了 B 觉得也行 就说 你签个字 我们就是可以了 于是 B 就签了自己的名字 在自己身上挂了象征遵守协议的牌子 .h 中

#warning 代理传值第四步 代理对象遵循协议@interface FirstViewController ()<SecondViewControllerDelegate>

5.B 又看了看自己要干的活 .m 中

#warning 代理传值第五部 实现协议中的方法  要干的活-(void)passValue:(NSString *)text{    self.label .text=text;}

5.A 老板说了 当我说”喝水的时候” 就是你干活的时机 .m 中

-(void)handleButton:(UIButton *)sender{#warning 代理传值第六步 让代理实现协议中的方法    //首先判断代理有没有实现协议中的方法 在 pop 之前让代理干活    if ([self.delegate respondsToSelector:@selector(passValue:)]) {        //这是要做的事        [self.delegate passValue:self.textField.text];        //上面的内部实现        /*        {            self.label.text = text;         2.= text 等于 self.textField text;        }         */    }    [self.navigationController popViewControllerAnimated:YES];}

总结:
/*
1.代码只是大概说明写在什么位置
2.搞清楚谁是主人 谁是仆人
3.还是需要多理解
4.再用 我也不一定会用 看情况 多复习

*/

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 开心网账号忘了怎么办 失眠十多年了怎么办呀 两眼角下面长斑怎么办 放环脸上会长斑怎么办 脸上起黑色的斑怎么办 经常熬夜脸上长斑怎么办 最近脸上长了好多斑怎么办 脸颊突然长斑了怎么办 长斑怎么办能根治吗 脸突然长斑了怎么办 生气后脸上长斑怎么办 脸上长了座疮怎么办 喝了啤酒吃柿子怎么办 脸上长了痤疮该怎么办 脸上老长闭口痘怎么办 右脸颊一直长痘怎么办 痘痘粉刺反复长怎么办 长痘留下的红印怎么办 熬夜长出的痘痘怎么办 脸上两边长痘痘怎么办 我左脸比右脸大怎么办 左脸莫名肿了怎么办 牙疼得半边脸痛怎么办 手和脸突然发麻怎么办 右半边脸麻木了怎么办 左边脸突然肿了怎么办 左半边脸皮肤疼怎么办 脸内侧的肉肿了怎么办 上火引起的脸肿怎么办 脸肿里面有硬块怎么办 内分泌失调引起的肥胖怎么办 宝宝接种证丢了怎么办 不给补办接种证怎么办 儿童接种证丢了怎么办 疫苗接种本丢了怎么办 脊灰滴剂滴多了怎么办 鞋小了挤脚趾头怎么办 大母脚趾头疼是怎么办 小脚趾内侧长茧怎么办 小脚趾肿了很痛怎么办 穿袜子大脚趾痛怎么办