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
  • 相关阅读:
    Sql Server Profiler使用
    用PowerDesign反向生成数据库Sql语句问题
    使用PowerDesign15反向生成数据库
    离线安装Sharepoint工具
    开发Windows服务
    Windows Server 2008 R2 安装域
    Entity Framework执行Sql语句返回DataTable
    GO 学习资源收集
    Ubuntu常用命令大全
    MVC MVC3中 ViewBag、ViewData和TempData的使用和区别 【转】
  • 原文地址:https://www.cnblogs.com/neilHoIOS/p/4637476.html
Copyright © 2011-2022 走看看