OC-协议代理-模拟return点击事件

main.m

#import <Foundation/Foundation.h>

#import "System.h"
#import "Developer.h"
int main(int argc, const char * argv[]) {

// 协议代理
// 模拟点击环境
Developer *dev = [[Developer alloc]init];
System *sys = [[System alloc]init];
#warning 协议代理4 - 注册代理人
sys.delegate = dev;
// 用户点击return/系统调用方法
[sys returnHandle];

return 0;

}
屏幕快照 2016-01-12 上午9.54.54.png

System.h
#import <Foundation/Foundation.h>
#warning 协议代理3 - 提供给外面实现

@protocol keyBoardHandleDelegate

  • (void)funckionHandle;

@end
@interface System : NSObject
#warning 协议代理 - 提供给外面注册
@property (nonatomic, assign) id delegate;

  • (void)returnHandle;
    @end
    屏幕快照 2016-01-12 上午9.55.04.png

System.m

#import "System.h"

@implementation System
// 模拟环境 - 当用户点击之后

  • (void)returnHandle
    {
    NSLog(@"点击了return!");
    #warning 协议代理1 - 用对象调用方法
    [self.delegate funckionHandle];
    }
    @end
    屏幕快照 2016-01-12 上午9.55.11.png

Developer.h
#import <Foundation/Foundation.h>
#import "System.h"
#warning 协议代理6 - 签协议
@interface Developer : NSObject

  • (void)funckionHandle;
    @end
    屏幕快照 2016-01-12 上午9.55.17.png

Developer.m

#import "Developer.h"

@implementation Developer
#warning 协议代理5 - 实现功能的方法

  • (void)funckionHandle
    {
    NSLog(@"爆炸");
    }
    @end

屏幕快照 2016-01-12 上午9.55.23.png

标签: none

添加新评论

Title - Artist
0:00