关闭

iOS 关于objc_setAssociatedObject,objc_getAssociatedObject

587人阅读 评论(0) 收藏 举报
分类:

void objc_setAssociatedObject(id object,constvoid *key,id value,objc_AssociationPolicy policy) 

该函数需要四个参数:源对象,关键字,关联的对象和一个关联方法,

这个方法是将两个对象实现关联;也就是将object 与  value 相关连起来 void *key 是关联的标示符,如同字典的key值一样 ,通过key 也可以将  value 取出;

objc_AssociationPolicy policy ;存储方式 ,就如assgin ,return ,copy 的道理是一样的 。


id objc_getAssociatedObject(id object,constvoid *key)  这个是get方法,上面是set方法,const void *key 的key 便是上面关联的key ; id object 还是不变的 ,这样通过key 就可以取出  id value,


调用这个方法只需导入头文件 #import<objc/runtime.h>  ,一般在类别的队列使用比较多 。 

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

const void *a 与 void *const a 的区别

const void *a 这是定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。 在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对象。 例如: const vo...
  • yinjiabin
  • yinjiabin
  • 2011-09-02 15:28
  • 15060

ios高效开发-如何正确使用const,static,extern

前言 本篇主要介绍在开发中怎么使用const,static,extern3个关键字,如果喜欢我的文章,可以关注我微博:吖了个峥,也可以来小码哥,了解下我们的iOS培训课程。后续还会更新更多内容。...
  • daleiwang
  • daleiwang
  • 2016-01-25 15:32
  • 6661

AES加密

本篇文章记录了iOS中对字符串进行AES加密+Base64编码的过程,考虑到加密对象和使用场景,理所当然的将加密过程丢到了NSString的类别中,即下面说到的NSString+AES。 一、对AE...
  • ZhengYanFeng1989
  • ZhengYanFeng1989
  • 2017-11-28 21:04
  • 56

C语言中void具体有什么作用

1.概述   许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方...
  • wangkeyen
  • wangkeyen
  • 2014-09-12 15:27
  • 30315

C语言标准库函数qsort详解

1 函数简介 功 能: 使用快速排序例程进行排序 头文件:stdlib.h 用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(c...
  • zchlww
  • zchlww
  • 2014-07-14 15:57
  • 891

仅从代码可读性来看void fun(const void *p, int len)中const的重要性

const可以增强程序的安全性, 让运行期的错误提前到编译期, 编译器强迫程序猿做出修改, 提高软件质量, 这个我早就介绍过了。 下面, 我从代码可读性的角度来说说const的重要性。  我看到类似于...
  • stpeace
  • stpeace
  • 2015-04-29 00:13
  • 1290

Associative机制使用场景

原创文章,转载请注明出处:http://blog.sina.com.cn/s/blog_60342e330101tcz1.html 1.    概念 objective-c有两...
  • fanjieshao
  • fanjieshao
  • 2015-08-03 11:31
  • 187

SQLite3的加密函数说明 sqlite3_key sqlite3_rekey

sqlite3_key是输入密钥,如果数据库已加密必须先执行此函数并输入正确密钥才能进行操作,如果数据库没有加密,执行此函数后进行数据库操作反而会出现“此数据库已加密或不是一个数据库文件”的错误。 ...
  • cnicfhnui
  • cnicfhnui
  • 2016-08-18 16:49
  • 1299

指针:const与指针

const类型的指针可以指向非const类型的对象,但const类型的对象必须由const类型的指针指定: // C++ 语言强制要求指向 const 对象的指针也必须具有 const 特...
  • amber2012
  • amber2012
  • 2013-05-20 18:23
  • 3069

C语言回顾(七、多重指针,argc,argv,动态内存分配,void指针,const)——iOS开发基础

整理C语言知识点(不是细节,知识个人觉得较重要或易忘的)。 多重指针,argc,argv 动态内存分配:malloc,calloc,realloc,free。void指针类型。 const与指针变量
  • Zsk_Zane
  • Zsk_Zane
  • 2015-06-22 17:27
  • 1434
    个人资料
    • 访问:42453次
    • 积分:1328
    • 等级:
    • 排名:千里之外
    • 原创:89篇
    • 转载:13篇
    • 译文:1篇
    • 评论:0条
    文章分类