zoukankan      html  css  js  c++  java
  • 如何再分类中添加属性

     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
  • 相关阅读:
    python接口测试
    python selenium 判断元素是否可见
    python学习之天气爬虫
    python学习之图片爬虫
    python学习之小说爬虫
    webdriver学习——css调试,jquery调用
    webdriver学习——百度设置
    bat中获取当前路径
    搭建ant脚本,全量/增量/减量包
    查询数据库中各个类型的方法名称
  • 原文地址:https://www.cnblogs.com/neilHoIOS/p/4637476.html
Copyright © 2011-2022 走看看