zoukankan      html  css  js  c++  java
  • Associative References(关联引用)

    Category中使用关联引用来添加property

    category是不能创建实例变量的,但我们可以通过关联引用来达到这样的目的。特别是当你不持有这个类,比如说系统的类,而你又的确需要添加一个property。

    static char objcAddress;

    // 给对象_sub关联一个字符串属性objcAddress,并做赋值

    objc_setAssociatedObject(_sub, &objcAddress, @"deng chao jie", OBJC_ASSOCIATION_COPY);

     

    // 获取对象_sub关联的属性值

    id object = objc_getAssociatedObject(_sub, &objcAddress);

     

    // 移除对象_sub关联的objcAddress的属性

    objc_setAssociatedObject(array, &objcAddress, nil, OBJC_ASSOCIATION_ASSIGN);

     

    // 移除对象_sub关联的所有属性

    objc_removeAssociatedObjects(_sub);

    http://gracelancy.com/blog/2013/05/22/objective-c-associative-references-part2/

    http://gracelancy.com/blog/2012/11/26/objective-c-associative-references/

    应用的交互设计,都必须简洁简洁再简洁,less is more。

  • 相关阅读:
    Blue:贪心,单调队列
    建设城市(city):组合数,容斥原理
    [考试反思]0809NOIP模拟测试15:解剖
    [考试反思]0807NOIP模拟测试14:承认
    [考试反思]阶段性总结:NOIP模拟测试7~13
    [考试反思]0805NOIP模拟测试13:窒息
    [考试反思]0803NOIP模拟测试12:偿还
    [态度]关于博客
    差异:后缀数组(wzz模板理解),决策单调性
    [考试反思]0801NOIP模拟测试11
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7814688.html
Copyright © 2011-2022 走看看