如何给category添加属性
程序员文章站
2022-04-30 10:01:53
...
主要是使用了runtime中的associative机制。
NSDate+extension.h
@interface NSDate (extension) @property (nonatomic, strong) NSDateFormatter *formatter; @end
NSDate+extension.m
#import "NSDate+extension.h" #include <objc/runtime.h> static void *formatterKey = (void *) @"formatterKey"; @implementation NSDate (extension) @dynamic formatter; + (NSDateFormatter *)formatter { return objc_getAssociatedObject(self, formatterKey); } + (void)setFormatter:(NSDateFormatter *)formatterProperty { objc_setAssociatedObject(self, formatterKey, formatterProperty, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } @end
上一篇: 【WP开发】浅谈开发中一些性能优化的要点
下一篇: phpcmsV9 如果实现导航切换