IOS-7步学会用代理
代理:又叫委托 自己不能去办的事委托给别人去办
之前学过的 UIAlertView UITextField都是使用了代理
反向传值代理 代理Block
写代理的步骤
需要帮忙的人(请求帮代饭的人)
1.声明代理里面的的协议方法(
@protocol)
2.声明协议的属性
3.什么时候需要触发这个代理方法
4.通过协议的属性 调用代理方法(委托)
帮忙的人做的事(帮忙带饭的人)
5.导入协议
6.在初始化有代理方法的地方,挂上代理(答应帮带饭)
7.写上代理方法 等待被执行
1.申明代理方法(不要在@Interface里面声明代理方法)
@protocol NextDelegate <NSObject>
-(void)toLoginWithName:(NSString *)name;
@end
2.声明代理的属性(可以通过属性找到代理方法)在@Interface里面声明
@property(nonatomic,assign)id<NextDelegate>delegate;
声明代理的属性用assign分配到栈里面
id<NextDelegate>delegate代理的类型 <代理的名字>
@property(nonatomic,copy)NSString *titleName;
3.什么时候需要触发这个代理方法
-(void)toRigether{
点击注册成功之后触发代理方法
4. 通过协议的属性调用这个代理方法(委托)
[self.delegate toLoginWithName:@"葫芦娃"];
[self.navigationController popToRootViewControllerAnimated:YES];
}
5.导入协议
@interface ViewController () <NextDelegate,UIActionSheetDelegate>
@end
6.挂上代理
next.delegate = self;
7.写上代理方法 等待被执行(帮买饭的人的动作)
-(void)toLoginWithName:(NSString *)name{
NSLog(@"%@ 登录成功",name);
}
2. 等待视图
indicator =[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge];
indicator.color = [UIColor redColor
];
indicator.center = self.view.center;
[indicator startAnimating];
[self.view addSubview:indicator];
/3.弹出框 选择按钮
UIActionSheet * acttionSheet = [[UIActionSheet alloc]initWithTitle:
@"选择
IOS-7步学会用代理的更多相关文章
- Java基础:三步学会Java Socket编程
Java基础:三步学会Java Socket编程 http://tech.163.com 2006-04-10 09:17:18 来源: java-cn 网友评论11 条 论坛 第一步 ...
- tortoisegit 7步 学会git分支
tortoisegit 7步 学会git分支 做自己的产品,分支还是很重要的.例如,我发布了一个app,但是有bug,又想做新功能,怎么办呢?如果只在一个git上开发的话,bug会越来越多,原来bug ...
- ios 一步一步学会自定义地图吹出框(CalloutView)-->(百度地图,高德地图,google地图)
前言 在 ios上边使用地图库的同学肯定遇到过这样的问题:吹出框只能设置title和subtitle和左右的view,不管是百度地图还是高德地图还是自带的 google地图,只提供了这四个属性,如果想 ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- 7步学会在Windows下上架iOS APP流程
之前用跨平台开发工具做了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申请发布证书和上传 ...
- 【原】iOS学习之UIApplication及其代理
1. 什么是UIApplication UIApplication 对象是应用程序的象征,不能手动创建,不能 alloc init,一个应用程序只允许 一个 . 每个应用都有自己的 UIApplica ...
- iOS一分钟学会环形进度条
有几篇博客写到了怎么实现环形进度条,大多是使用Core Graph来实现,实现比较麻烦且效率略低,只是一个小小的进度条而已,我们当然是用最简单而且效率高的方式来实现.先看一下这篇博客,博客地址:htt ...
- iOS 按住Home键的代理
1.按住home键怎么保存程序的运行状态: 监听按home键的时候程序挂起的状态(通知),然后让其重新进入程序[[NSNotificationCenter defaultCenter] addObse ...
- iOS重一些常用的代理模式
(一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现.优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和proto ...
随机推荐
- 转载 C#匿名函数 委托和Lambda表达式
转载原出处: http://blog.csdn.net/honantic/article/details/46331875 匿名函数 匿名函数(Anonymous Function)是表示“内联”方法 ...
- SQL Server 2008数据库创建,备份,还原图解及注意点
一.新建数据库 步骤1:点击“新建数据库”. 步骤2:输入数据库名称,设置数据库文件保存位置(注意点:最好自己设置数据库文件保存位置,不要采用安装时默认的文件保存位置!),点击“确认”即可完成新库的创 ...
- R语言-Knitr包的详细使用说明
R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...
- SQLite使用教程6 创建表
http://www.runoob.com/sqlite/sqlite-create-table.html SQLite 创建表 SQLite 的 CREATE TABLE 语句用于在任何给定的数据库 ...
- java中调用dll文件的两种方法
一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676 JNativ ...
- Sql Server 存储过程使用技巧
1.创建带Try...Catch的存储过程模板 Copy下面的代码,然后新建查询,就可以写sql语句,执行完后,一个你自己的存储过程就建立好了! USE [DB]--设定对应的数据库 GO SET A ...
- 注入限制绕过<转>
突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“'”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以 ...
- python会什么比c慢
众所周知,python执行速度比c慢.原因为何? 先来看下面这张图: python的传统运行执行模式:录入的源代码转换为字节码,之后字节码在python虚拟机中运行.代码自动被编译,之后再解释成机器码 ...
- hdu4759 Poker Shuffle 2013 ACM/ICPC Asia Regional Changchun Online
找了很久的规律,只看十进制数字,各种乱七八糟的规律=没规律!看了别人的解题报告,虽然看懂了,可是怎么发现的这个规律呢T.T~想了很久很久~ 以下是转载的别人的图,自己再画太麻烦了~全部看出0~2n-1 ...
- ios十进制、十六进制字符串,byte,data等之间的转换
十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSStringstringWithFormat:@"%@& ...