一入iOS海iOS Developer

ObjC中委托(delegate)用法

2017-02-23  本文已影响12人  韧卓

委托的用法,在本文中,将以UITableView列表内,自定义cell的button点击事件委托(delegate)UITableViewController执行任务,如刷新界面、处理数据等为例,进行演示。

1.创建一个 delegate

新建RZDoSomethingDelegate.h文件中:
objc

import <Foundation/Foundation.h>

@protocol RZDoSomethingDelegate <NSObject>

@option

@end
objc

2.委托者声明一个delegate

委托者自定义cell头文件(RZCustomCell.h)中,使用弱引用声明delegate属性
objc

import "RZDoSomethingDelegate.h"

@interface RZCustomCell : UITableViewCell

pragma mark - 委托

@property (nonatomic, weak) id<RZDoSomethingDelegate> delegate;

@end
objc

3.委托者调用delegate内的方法(method)

RZCustomCell.m中,按钮被点击时,使用委托执行任务,传递上下文参数
objc
@implementation RZCustomCell

@end
objc

4.被委托者设置delegate,以便委托者调用

在RZUITableViewController.m文件中,设置被委托者
objc
@interface RZUITableViewController () <ZCGiftExchangeDelegate>
@end

@implementation RZUITableViewController

@end
objc

5.被委托者实现Delegate 所定义的方法

在RZUITableViewController.m文件中,实现被委托方法
objc
@interface RZUITableViewController () <ZCGiftExchangeDelegate>
@end

@implementation RZUITableViewController

@end
objc

上一篇 下一篇

猜你喜欢

热点阅读