代理 Delegate 5部曲
2016-07-06 本文已影响39人
我的梦想之路
我想要在批阅客户完成的时候刷新表格以及客户的跟进信息
#import <UIKit/UIKit.h>
#/// 步骤1
@protocol DirectorMarkingViewDelegate <NSObject>
@optional
/// 代理刷新表格
- (void)MarkingrefureshTable:(NSUInteger)pagesize;
/// 代理刷新滚动视图 -- 客户基本跟进信息
- (void)MarkingrefureshScroll;
@end
/// 批阅客户视图
@interface DirectorMarkingView : UIView
#/// 步骤2
/// 添加代理属性
@property (nonatomic,assign)id<DirectorMarkingViewDelegate> delegate;
在本类中调用代理方法
if ([[json objectForKey:@"returnCode"] integerValue] == 1) {
/// 如果是表格则批阅成功
if ([_identifier isEqualToString:@"table"]) {
[SVProgressHUD showSuccessWithStatus:@"批阅成功" duration:2];
[self dismissView];
# 、、、 步骤3
/// 代理刷新表格
[self.delegate MarkingrefureshTable:_pagesize];
}else{
# 、、 步骤3
/// 代理刷新客户跟进信息
[self.delegate MarkingrefureshScroll];
[SVProgressHUD showSuccessWithStatus:@"修改成功" duration:2];
[self dismissView];
}
}else{
[SVProgressHUD showErrorWithStatus:@"修改失败" duration:2];
[self dismissView];
}
只讲表格,在表格中实现委托
< 记得在@interface后调用 ----DirectorMarkingViewDelegate >
DirectorMarkingView *marking = [[DirectorMarkingView alloc]init];
[self.view addSubview:marking];
#/// 步骤4
marking.delegate = self;
marking.pagesize = _page*_pagesize;
marking.identifier = @"table";
实现代理的方法
#/// 步骤5
#pragma mark -- 实现批阅客户视图的代理刷新方法
- (void)MarkingrefureshTable:(NSUInteger)pagesize{
_page = 1;
_pagesize = pagesize;
_dataSource = [[NSMutableArray alloc]init];
[self initData];
}