码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-08-07 19:53:54      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

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];
}
//这里实现了相应的视图逻辑之间的转化。
}


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

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

标签:

原文地址:http://blog.csdn.net/u012496940/article/details/47342731

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!