委托范例

2018-08-25  本文已影响0人  zhujames

Class.h

#import <Foundation/Foundation.h>
//委托的协议定义
@protocol doActionDelegate <NSObject>
- (void)doAction;
@end

@interface Class : NSObject
//委托变量定义
@property (nonatomic, weak) id<doActionDelegate> delegate;

- (void) startAction;
   
@end

Class.m

#import "Class.h"

@implementation Class
- (void) startAction
{
    [self.delegate doAction];
}
@end

ViewController.h

#import "Class.h"

@interface ViewController : UIViewController<doActionDelegate>

@end

ViewController.m

#import "ViewController.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    Class *obj = [[Class alloc] init];
    obj.delegate = self; //设置委托实例
    [obj startAction];
}

- (void)doAction
{
    //处理要做的事
    NSLog(@"代理协议实现");
}
上一篇下一篇

猜你喜欢

热点阅读