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 ...
随机推荐
- [Objective-c 基础 - 2.1] 封装
A.封装内部细节,根据需求暴露方法 #import <Foundation/Foundation.h> @interface Student : NSObject { int age; } ...
- iOS面试知识集锦
最近在面试iOS应聘者过程中,发现很多面试者基础都比较薄弱,但是项目经验都写的很多,问几个问题基本上就可以了解大概的情况了,今天看到cocoachina上这篇面试题不错,分享给大家~~~ OC的理解与 ...
- 自定义文件上传的按钮的样式css+js
核心就是一段css遮住了原生的input框,然后用js将文件的值传入到另一个指定的input框中 原文链接 http://geniuscarrier.com/how-to-style-a-html-f ...
- IOS知识小记
iOS开发 小知识点 http://www.cnblogs.com/tangbinblog/archive/2012/07/20/2601324.html Objective-C中的instancet ...
- JavaScript要点 (五) 函数定义
JavaScript 使用关键字 function 定义函数. 函数可以通过声明定义,也可以是一个表达式. 函数声明分号是用来分隔可执行JavaScript语句. 由于函数声明不是一个可执行语句,所以 ...
- linux系统基础(二)
磁盘管理(一) Linux设备认识 /dev/cdrom /dev/sr0 /dev/mouse /dev/sda /dev/hda IDE硬盘(支持4块):hd(a-d) [非IDE硬盘]SCSI硬 ...
- maven依赖传递关系
一.maven 依赖传递规则 举个例子,比如A依赖B,B依赖C,那么A也是依赖C的.A是对B的直接依赖,A对C是传递依赖 ①.最短路劲原则 如,路劲一:A依赖B,B依赖C,C依赖D(1.0.0): 路 ...
- HubbleDotNet 学习之路
1.创建后台任务实现自动同步更新表数据.打开工具后点击“management”选项卡,选择“task scheduler management”,在弹出的窗口中点击右侧的"add" ...
- 【39】明智而审慎第使用private继承
1.private继承意味着,根据某物实现出,继承父类的实现,关闭父类的接口,并不是Is-A的关系,不满足里氏代换,继承的内容访问权限都修改为private. 2.那么问题来了,复合也表达根据某物实现 ...
- ArrowDrawable
https://github.com/wly2014/ArrowDrawable https://github.com/ChrisRenke/DrawerArrowDrawable