糖糖的iOS专题Swift编程

代理 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];
}

这里就完成了,代理5部曲 。

上一篇下一篇

猜你喜欢

热点阅读