RunTime应用--动态给分类添加属性
来源:互联网 发布:麦迪生涯数据统计 编辑:程序博客网 时间:2024/04/25 11:36
.h
#import <UIKit/UIKit.h>typedef void(^blocks)(id sender);@interface UIGestureRecognizer (Block)+(instancetype) createBlock:(blocks)block;@end
.m
#import "UIGestureRecognizer+Block.h"#import <objc/runtime.h>const char *key = "key";@implementation UIGestureRecognizer (Block)+(instancetype) createBlock:(blocks)block{ __weak typeof(self)base = self; return [[base alloc]initWithBlock:block];}-(instancetype) initWithBlock:(blocks)block{ self = [self init]; if (self){ [self addBlock:block]; [self addTarget:self action:@selector(fangfa:)]; } return self;}-(void)addBlock:(blocks)block{ if (block){ objc_setAssociatedObject(self, key, block, OBJC_ASSOCIATION_COPY_NONATOMIC); }}-(void)fangfa:(id)sender{ blocks block = objc_getAssociatedObject(self, key); if (block){ block(sender); }}@end调用
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; view.backgroundColor = [UIColor redColor]; [self.view addSubview:view]; [view addGestureRecognizer:[UITapGestureRecognizer createBlock:^(id sender) { NSLog(@"点击:%@",sender); }]];
阅读全文
0 0
- RunTime应用--动态给分类添加属性
- iOS runtime机制实现给分类添加属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- runtime动态添加属性
- Runtime 动态添加属性
- runtime -- 动态添加属性
- Runtime应用之归档 , KVC , 分类添加属性
- Runtime应用之归档 , KVC , 分类添加属性
- Runtime之分类添加属性
- 动态添加属性(Runtime)
- iOS在分类中添加属性,运行时编程,objc runtime 动态增加属性
- Runtime消息机制,交换方法,动态添加方法,分类添加属性
- IOS通过runtime给category添加属性
- 利用runtime给类别添加属性
- Json,List,Map的数据格式详解。
- 手写json格式数据 自动生产json数据
- Ubuntu下Python的MySQLdb模块快速安装
- 9.13省选模拟赛
- 数据库中的范式
- RunTime应用--动态给分类添加属性
- Java语言入门,文档注释
- linux下更改MySQL数据库编码格式为utf-8
- 使用FFMPEG对TS封装H264编码的文件进行NAL的加密
- python 中括号与冒号的作用
- git pull报错
- luogu1078【2012普及】文化之旅(dfs)
- python字符串操作
- MacOs安装Hadoop,伪分布式配置