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 ...
随机推荐
- [OC Foundation框架 - 10] NSDictionary
通过唯一的key找到相应的value,类似于Map NSDictionary是不可变的 1.创建 void dicCreate() { //Immutable // NSDictionary *d ...
- UVa123 - Searching Quickly
题目地址:点击打开链接 C++代码: #include <iostream> #include <set> #include <map> #include < ...
- Reactive native 项目创建失败如何处理
首先感谢党的英明决策. 一开始我总觉得Awesomeproject这个名字是固定的,和我有同感的同学请举手. 其实我们可以起任意的名字,执行native react init碰到的最大的问题是 npm ...
- Emgu CV 高斯建模
Codeprivate void button1_Click(object sender, EventArgs e) { Emgu.CV.Capture cap = new Capture(" ...
- maven依赖传递关系
一.maven 依赖传递规则 举个例子,比如A依赖B,B依赖C,那么A也是依赖C的.A是对B的直接依赖,A对C是传递依赖 ①.最短路劲原则 如,路劲一:A依赖B,B依赖C,C依赖D(1.0.0): 路 ...
- linux tomcat自启动设置
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
ViewDidLoad中注册手势的部分代码如下: [cpp] view plaincopy UITapGestureRecognizer *oneTap = [[[UITapGestureRecogn ...
- 从零开始学android开发-IDE空间不够报错
E:\ProSoft\adt-bundle-windows-x86-20140321\eclipse目录下 右键eclipse用记事本打开 可以设置运行的最大的运行空间
- 在iOS中怎样创建可展开的Table View?(上)
原文地址 本文作者:gabriel theodoropoulos 原文:How To Create an Expandable Table View in iOS 原文链接 几乎所有的app都有一个共 ...
- 如何打开“USB调试”模式?
请首先确认您的系统版本, 点击「设置」-「关于手机」查看您当前的手机版本号. 如果您使用的是 Android 3.2及以下系统,请按以下步骤操作: STEP1:在应用列表选择「设置」进入系统设置菜单: ...