欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ObjectC 实现自定义Event

程序员文章站 2022-07-05 22:54:53
跨类的通讯,可以使用Notification,也可以使用Event。这里记录一下实现Event的方法: 首先,定义的类要从UIControl继承。 SocketUtils类 子...

跨类的通讯,可以使用Notification,也可以使用Event。这里记录一下实现Event的方法:
首先,定义的类要从UIControl继承。

SocketUtils类 子control

SocketUtils头文件


#import 
#import "AsyncSocket.h"

@interface SocketUtils : UIControl{

}

enum {
    UIControlEventAlert=0x00000001<<25, //可以自定义的从24 到27
    UIControlEventError=0x00000001<<26
};

SocketUtils.m文件

触发事件的方法:

[self sendActionsForControlEvents:UIControlEventAlert];

使用SocketUtils的目标类

头文件

#import 
#import "WasherSocketUtils.h"
@interface Head : UIView
@property (nonatomic,strong)SocketUtils* SocketUtils;

m文件

#import "Head.h"

@implementation Head
@synthesize SocketUtils=_SocketUtils;
-(id)init{
    _SocketUtils=[[SocketUtils alloc]init];
    ///注册事件,这句是关键
    [_SocketUtils addTarget:self action:@selector(socketEvent:) forControlEvents:UIControlEventAlert];

    return [super init];
}
-(void)socketEvent:(SocketUtils*)paramSender{
    NSLog(@"event by xie:%@",paramSender);
}