如何再分类中添加属性

 1 #import <UIKit/UIKit.h>
 2 
 3 typedef enum {
 4     HMImageDirectionLeft, // 左边 0
 5     HMImageDirectionRight,// 右边 1
 6 } HMImageDirection;
 7 
 8 
 9 @interface UIImage (Extension)
10 // x值
11 @property(nonatomic,assign) CGFloat x;
12 // y值
13 @property(nonatomic,assign) CGFloat y;
14 // 移动方向
15 @property(nonatomic,assign) HMImageDirection direction;
16 
17 @end
#import "UIImage+Extension.h"
#import <objc/runtime.h>
@implementation UIImage (Extension)

static char imageX;
static char imageY;
static char imageDirection;
- (void)setX:(CGFloat)x{
    // objc_setAssociatedObject:利用该方法可以给一个分类添加属性
    objc_setAssociatedObject(self, &imageX, [NSString stringWithFormat:@"%f",x], OBJC_ASSOCIATION_COPY);
}

- (CGFloat)x {
    return [objc_getAssociatedObject(self, &imageX) floatValue];
}

- (void)setY:(CGFloat)y {
    // objc_setAssociatedObject:利用该方法可以给一个分类添加属性
    objc_setAssociatedObject(self, &imageY, [NSString stringWithFormat:@"%f",y], OBJC_ASSOCIATION_COPY);
}

- (CGFloat)y {
    return [objc_getAssociatedObject(self, &imageY) floatValue];
}

- (void)setDirection:(HMImageDirection)direction {
    // objc_setAssociatedObject:利用该方法可以给一个分类添加属性
    objc_setAssociatedObject(self, &imageDirection, [NSString stringWithFormat:@"%d",direction], OBJC_ASSOCIATION_COPY);
}

- (HMImageDirection)direction {
     return [objc_getAssociatedObject(self, &imageDirection) boolValue];
}

@end

 

转载于:https://www.cnblogs.com/neilHoIOS/p/4637476.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值