随手记

2017-02-27  本文已影响3人  SpursGo

copy 与 mutablecopy区别
1.对于不可变对象的copy,执行的是内存地址,也就是指针的复制,并没有新生成一个对象。并且生成的这个对象是不可变的。
2.对于不可变对象的mutablecopy,执行的是深拷贝。也就是会重新生成一个对象。生成的对象是可变的
3.对于可变对象的copy,执行的是深拷贝。copy出来的对象是不可变的。
4.对于可变对象的mutablecopy,执行的深拷贝。mutablecopy出来的对象是可变的。

keychain用处

1.存储隐私信息
在iOS系统中,最常用的keychain服务就是存储用户密码了。使用keychain保存用户密码最大的好处已经在上面说过,个人极力推荐这么做。

2.数据共享
如果我们有多个app,它们之间需要共享一些数据,以提供更好的用户体验,那么使用Keychain群组可以实现。但前提是同一个公司的产品才能共享,比如com.hyyy.test1和com.hyyy.test2两个同一公司下的不同产品之前可以实现数据共享。

3.设备唯一标示存储
在iOS中,为了在苹果的打压下获取唯一标示符,开发者们也是想尽了办法,目前最好的方式就是获取IDFV,并将其存储到keychain中。IDFV是设备区别应用提供商的,一般来说可以作为应用唯一标示符。但是IDFV缺陷就是当设备删除了该所有应用提供商的app之后,IDFV值会发生变化,所以IDFV+Keychain的组合目前被经常用到,来替代UDID的作用。特别是加上Keychain的共享服务,可以使应用提供商下的所有app下获取的IDFV都不会发生变化。这一服务可以说是目前最佳的识别用户的办法。

app之间共享数据的方法
http://www.jianshu.com/p/169e31cacf42

上一篇 下一篇

猜你喜欢

热点阅读