美文网首页
类别动态添加属性(runtime知识点)

类别动态添加属性(runtime知识点)

作者: 狒狒James_Leo | 来源:发表于2017-09-14 11:05 被阅读0次
    .h文件
    #import <UIKit/UIKit.h>
    
    @interface UIImage (Extension)
    
    //起始x坐标
    @property(nonatomic,assign)CGFloat imageX;
    
    //起始y轴坐标
    @property(nonatomic,assign)CGFloat imageY;
    
    
    @end
    
    
    .m文件
    #import "UIImage+Extension.h"
    #import <objc/runtime.h>
    
    static const NSString *imageXKey = @"imageX";
    static const NSString *imageYKey = @"imageY";
    
    @implementation UIImage (Extension)
    
    - (void)setImageX:(CGFloat)imageX {
        
        
        objc_setAssociatedObject(self, @selector(imageX), @(imageX), OBJC_ASSOCIATION_ASSIGN);
        
    }
    
    - (CGFloat)imageX {
        
        
        return [(objc_getAssociatedObject(self, @selector(imageX))) doubleValue];
    
    }
    
    
    - (void)setImageY:(CGFloat)imageY {
        
        
        objc_setAssociatedObject(self, &imageYKey, @(imageY), OBJC_ASSOCIATION_ASSIGN);
        
    }
    
    - (CGFloat)imageY {
        
        
        return [(objc_getAssociatedObject(self, &imageYKey)) doubleValue];
        
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:类别动态添加属性(runtime知识点)

          本文链接:https://www.haomeiwen.com/subject/bribpttx.html