代理Delegate在写页面逻辑的使用

block使用的场景是:

1、有关使用代码来写相应的View而不是xib或者storyboard的时候,我们经常需要用到按钮等控件,我们一般可以使用代理或者b‘lock这两种方式来解决。

先看看代理的使用:

//按钮的触发事件,相应的容器方法 reSetPassword

 [_serviceLeft addTarget:self action:@selector(reSetPassword) forControlEvents:UIControlEventTouchUpInside];

下面是相应的容器方法:reSetPassword

- (void)reSetPassword
{
    NSLog(@"ghjgk");
    [self.rdelegate toResetPass]; //这个是相应的代理方法
}

这样是用的前提就是我们要设置相应的代理声明定义

@protocol RegisterViewDelegate <NSObject>
- (void)toResetPass;
@end

@interface RegisterView : UIView
@property (nonatomic,assign) id<RegisterViewDelegate> rdelegate; //定义这个代理遵循的协议
@end

上面的都是在View中完成的,因为这些触发的动作要在Controller中完成,才可以与model等等的数据进行交互,才有意义。

下面是在Controller中的使用

//遵循协议,并定义View的对象

@interface RegisterViewController : UIViewController <RegisterViewDelegate>
@property (nonatomic,strong) RegisterView *registerView;
@end;

//需要在.m文件中设置代理

    self.view = self.registerView;

然后就可以使用在view 中定义的代理方法了。

#pragma mark <RegisterViewDelegate>
- (void)toResetPass
{
    NSLog(@"进入Controller界面");
[self.navigationController pushViewController:self.reSetPasswordViewController animated:YES];
}
//这里实现了相应的视图逻辑之间的转化。
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-28 07:11:19

代理Delegate在写页面逻辑的使用的相关文章

h5开发页面逻辑

一.页面展示 http://192.168.3.3:8080/dist/view/index.html 1.简单编写了一个阅读器的模式 2.h5+css3+base64(字体图形) 3.页面逻辑commonjs+webpack //用localStorage保存设置信息方法 exports.Util = (function() { var prefix = 'ficiton_reader_'; var StorageGetter = function(key) { return localSto

Objective - C 小谈:代理delegate的使用法则

先搞清楚谁是谁的代理(delegate) 定义代理协议,协议名称的命名规范:控件类名 + Delegate 定义代理方法 代理方法一般都定义为@optional 代理方法名都以控件名开头 代理方法至少有1个参数,将控件本身传递出去 设置代理(delegate)对象  (比如myView.delegate = xxxx;) 代理对象遵守协议 代理对象实现协议里面该实现的方法 在恰当的时刻调用代理对象(delegate)的代理方法,通知代理发生了什么事情 (在调用之前判断代理是否实现了该代理方法)

吐槽-----写页面时的工作笔记

最近一直在写页面我会告诉你?作为css高级菜鸟我就不吹嘘怎么写css的,bootstrap的规范非常好.在这里记录几点需要注意的事项 1.关于设计给我的图纸,只有一张PSD,像素不准,间距不统一,让我真没有办法,怒而下载神器MarkMan自己mark.我只想说我是程序猿,不是设计狮,你还能再不认真点吗?设计的不严谨,让很多程序员只能目测距离,很蛋痛.倒是有很多小工具可以测量,取色,比如FSC.不过没有MrakMan神奇,请看下图 顿时很轻松有木有 另外关于设计师吐槽程序员无法100%还原设计稿的

web前端入门:一小时学会写页面

一小时学会写页面 作为一个懒癌晚期患者,总是习惯找各种简单的解决问题的方法,也习惯性把问题简单化,所以今天想分享给大家简单的web前端入门方法.既然题目已经定了一个小时那么废话就不多说了,计时开始 1.什么是前端 简单来说,前端就是做网页(大神勿喷,本文一切从简) 2.前端技术 html,是首字母缩写,具体意义请百度,大家要记住“t”代表text,ok你们没有想错,text就是文本文件text,好了准备工作做好了,现在开始做网页 3.我们的第一个网页 请身边有电脑的小伙伴和我一起开始,在桌面鼠标

block在页面逻辑处理上的使用,替换代理的功能

block的声明和定义: #import <UIKit/UIKit.h> @interface RegisterView : UIView //typedef 这个是重新定义,typeof是求类型 typedef void (^RegisterBlock)(NSString*); //定义block @property (nonatomic,strong) RegisterBlock registerBlock; @end 这里不需要遵循什么代理,直就是实现block, //使用block执行

协议protocol和代理delegate的使用

这里的协议是独立的,不再类里面,所以每个类的头文件都要引入#import "MarryProtoco.h"头文件.. 首先新建一个协议 Protocol:MarryProtoco 里面写代理人要执行的方法,或者可选方法 #import <Foundation/Foundation.h> @protocol MarryProtoco <NSObject> //代理人中必须要执行的 . //做饭 - (void)cook; //洗衣服 - (void)washClo

代理Delegate的小应用(代理日期控件和下拉框)

前言 在平时关于表格一类的的控件使用中,不可避免需要修改每个Item的值,通过在Item中嵌入不同的控件对编辑的内容进行限定,然而在表格的Item中插入的控件始终显示,当表格中item项很多的时候,会影响表格的美观和用户的体验.此时Delegate代理就派上了用场,通过Delegate可以使得Item的控件在编辑状态才显示,提高了用户的体验满意度. 效果展示 1.展示状态: 2.编辑状态   设计思路 这类效果的实现主要使用了QItemDelegate类,QItemDelegate类为数据项It

Nginx反向代理后配置404页面

关键词:proxy_intercept_errors.fastcgi_intercept_errors   在网上搜索404配置,有很多配置文章,但都是关于fastcgi_intercept_errors的,不过对我们的项目不起作用.我们的项目使用nginx做反向代理,通过域名区分不同的网站,配置fastcgi_intercept_errors不生效,需要配置proxy_intercept_errors.以下罗列出两种配置方式,供大家参考.   1.fastcgi_intercept_error

jQuery中hover和blur使用代理delegate无效的解决方法

今天就遇到了这样的小问题: $(document).ready(function(){ $('.status_on').hover(function(){ $(this).html('点击禁用'); $(this).css('color','red'); },function(){ $(this).html('已激活'); $(this).css('color','green'); });}); 但是当需要触发hover的元素是js后来生成的时候,hover是无效的.于是第一反应是想到用dele