分类(Category)添加属性

2017-05-18  本文已影响94人  HAPPY小元宝
  @interface MyClass (Category)
  @property (nonatomic, assign) NSString *title;
  @end
  static void *key = &key;
  @implementation MyClass (Category)
   - (void)setTitle:(NSString *)title {
  objc_setAssociatedObject(self, & key, title, OBJC_ASSOCIATION_COPY); 
    }

   -(NSString *)title  {  
    return objc_getAssociatedObject(self, &key);  
}
 @end
// MyClassExtension.swift
  class MyClass {
}

  private var key: Void?
  extension MyClass {
    var title: String? {
        get {
            return objc_getAssociatedObject(self, &key) as? String
        }

        set {
            objc_setAssociatedObject(self,
                &key, newValue,
                .OBJC_ASSOCIATION_COPY_NONATOMIC)
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读