美文网首页
category添加属性

category添加属性

作者: json_jie | 来源:发表于2016-05-06 16:36 被阅读61次

// key作为该对象实例的属性的键,而value就是对象实例的属性的值
// associative是在运行时动态的添加属性

UIView+AddProperty.h

import <UIKit/UIKit.h>

@interface UIView (AddProperty)
@property(nonatomic,copy)NSString *title;
@end

UIView+AddProperty.m

import "UIView+AddProperty.h"

import <objc/runtime.h>

@implementation UIView (AddProperty)
static void *MyKey = (void *)@"son";
// Obj-c中的外联方法
// OBJC_EXPORT id objc_getAssociatedObject(id object, const void *key)
// OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)
-(NSString *)title
{
return objc_getAssociatedObject(self, MyKey);
}

-(void)setTitle:(NSString *)title
{
objc_setAssociatedObject(self, MyKey, title, OBJC_ASSOCIATION_COPY);
}
@end

//调用

import "UIView+AddProperty.h"

import <objc/runtime.h>

@interface ViewController ()
@end
@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 150, 100, 100)];
    view.backgroundColor = [UIColor redColor];
    [self.view addSubview:view];
    view.title = @"哈喽 json category 添加属性";
    NSLog(@"%@",view.title);
    // category添加属性[16959:1926914] 哈喽 json category 添加属性
    }

相关文章

  • runtime常用的几种使用场景:

    1.category中添加属性 category里面是没法直接添加属性的,但是通过runtime的方式可以实现。主...

  • Category 的 本质

    Category的实现原理,以及Category为什么只能添加方法不能添加属性 ?category的底层结构是st...

  • iOS用runtime给Category添加属性

    用runtime给Category添加属性 1、添加属性 (1)UIViewController+CXHelp.h...

  • iOS开发 Category

    1.说下category原理,以及category为什么只能添加方法不能添加属性? 分类的实现是将category...

  • iOS Category分类

    1.说下category原理,以及category为什么只能添加方法不能添加属性? 分类的实现是将category...

  • category添加属性

    category中添加属性不会生成成员变量,也不会自动生成set和get方法;如果想动态为分类添加属性,需要使用运...

  • category添加属性

    // key作为该对象实例的属性的键,而value就是对象实例的属性的值// associative是在运行时动...

  • Category添加属性

    通过runtime的两种方法就可以为类别添加一个实例变量了。

  • category添加属性

    转自http://www.tuicool.com/articles/FZn6Rfa

  • category添加属性

    (抄)关联(objc_setAssociatedObject、objc_getAssociatedObject、o...

网友评论

      本文标题:category添加属性

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