美文网首页
学习switf 对象关联 objc_setAssociated

学习switf 对象关联 objc_setAssociated

作者: Faith_K | 来源:发表于2017-11-02 11:14 被阅读3次

swif版本

import UIKit

extension  UIView {

    private struct assKey {
        static let keyName = "keyName"
    }
    
    var name : String!{
        get {
            return objc_getAssociatedObject(self, assKey.keyName) as? String
        }
        set (name){
            if let name = name {
                objc_setAssociatedObject(self, assKey.keyName, name, objc_AssociationPolicy.OBJC_ASSOCIATION_COPY_NONATOMIC)
            }
        }
    }

}

OC版本

.h

#import <UIKit/UIKit.h>

@interface UIView (AddView)

@property (copy, nonatomic) NSString *name;
@end

.m
#import "UIView+AddView.h"
#import <objc/runtime.h>

@implementation UIView (AddView)
static char assKey;
- (void)setName:(NSString *)name{
    //关联对象
    objc_setAssociatedObject(self, &assKey, name, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

- (NSString *)name{
    //获取
    return  objc_getAssociatedObject(self, &assKey);
}

相关文章

  • 学习switf 对象关联 objc_setAssociated

    swif版本 OC版本

  • runtime - 关联对象objc_setAssociated

    有许多人不知道runtime 黑魔法到底是干啥用的,到底有什么卵用,今天我们就来讲讲runtime - 关联对象o...

  • 关联对象学习

    在没有介绍关联对象之前,先看一道面试题 Category能否添加成员变量?如果可以,如何给Category添加成员...

  • Swift 为分类增加属性objc_getAssociated

    OC 获取关联对象 Swift 获取关联对象——错误的写法 Swift 获取关联对象——正确的写法 设置关联对象 ...

  • 第一天2018-08-18

    hello,Switf!欢迎来到Switf世界!对于一个iOS开发人员来说不会Switf是多么尴尬的一件事我想对我...

  • iOS runtime关联对象 objc_setAssociat

    关联对象的作用: 关联对象可以给某个对象关联一个或者多个其他对象,这些对象通过健来区分。 创建存储关联对象objc...

  • 关联对象

    关联对象的方式 关联对象源码基本思路 关联对象的结构:AssociationsHashManager // Ass...

  • RunTime学习笔记——关联对象

    现在你准备用一个系统的类,但是系统的类并不能满足你的需求,你需要额外添加一个属性。 这种情况的一般解决办法就是继承...

  • 关联对象

    关联对象原理 关联对象并不是存储在被关联对象本身内存中,关联对象存储在全局的统一的一个AssociationsMa...

  • objc_setAssociatedObject

    iOS objc_setAssociatedObject 关联对象的学习 今天看了FDTemplateLayout...

网友评论

      本文标题:学习switf 对象关联 objc_setAssociated

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