哈希表及在iOS中的应用

哈希表及在iOS中的应用

哈希在OC中的应用

NSDictionary

1.使用 hash表来实现key和value之间的映射和存储

2.字典的key需要遵循NSCopying协议,重写hash和isEqual方法,如果不重写,hash方法默认返回对象的地址,两个值相同的对象地址不同在存储过程中会生成两个key,取值的时候调用isEqual也是通过地址判断,地址不同会取不到值。

3.NSString类作为key的时候不需要重写,系统已经重写过了,对于值相同的字符串得到的哈希值相同

NSDictionary实现原理

iOS底层原理:NSDictionary原理

runloop

kvo

weak指针

全局HashMap,用来储存某个对象的所有weak指针,key是所指对象的指针,value是weak指针的地址数组(一个对象可能被多个指针指向)

objc_clear_deallocating该函数的动作如下:

1、从weak表中获取废弃对象的地址为键值的记录

2、将包含在记录中的所有附有 weak修饰符变量的地址,赋值为nil

3、将weak表中该记录删除

4、从引用计数表中删除废弃对象的地址为键值的记录

APP签名,MD5加密

文章均来自互联网如有不妥请联系作者删除QQ:314111741 地址:http://www.mqs.net/post/13630.html

相关阅读

添加新评论