中易网

口头村村怎么去啊,我要去那办事

答案:5  悬赏:0  
解决时间 2021-03-25 20:11
iOS中深拷贝,浅拷贝和retain的区别
最佳答案
• copy: 用于希望保持一份传入值的拷贝,而不是值自身的情况,即把原来的对象完整的赋值到另外一地方,重新加载一内存区,一个地方变了不影响另一个地方的对象。
• assign: 简单的直接赋值,相当于说两个对象指向同个内存区,一个地方的变了,其他的也跟着改变。

• retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数 为1
那上面的是什么意思呢?
Copy 其实是建立了一个相同的对象,而 retain 不是:
比如一个 NSString 对象,地址为 0×1111,内容为@”ABC”
Copy 到另外一个 NSString 之 后,地址为 0×2222,内容相同,新的对象 retain 为 1, 旧 有对象没有变化
retain 到另外一个 NSString 之 后,地址相同(建立一个指针,指针拷贝),内容当然相 同,这个对象的 retain 值+1
assign 地址还是0x1111,内容也还是“ABC”。
也就是说,retain 是指针拷贝,copy 是内容拷贝。
strong,weak 用来修饰属性。
strong 用来修饰强引用的属性;
@property (strong) SomeClass * aObject;
对应原来的
@property (retain) SomeClass * aObject; 和 @property (copy) SomeClass * aObject;

weak 用来修饰弱引用的属性;
@property (weak) SomeClass * aObject;
对应原来的
@property (assign) SomeClass * aObject;
全部回答
浅拷贝:浅拷贝是对object对象的指针拷贝,让指针指向同一块内存地址,“对象永远只有一个",浅拷贝使对象的引用计数器+1。代码如下: 可以看出不可变字符串的指针指向了同一地址,并没有重新开辟内存。 深拷贝:深拷贝是对object对象的复制,保留原对象的值,开辟新的内存地址。 如图中代码,声明一个可变数组,为WXDObject类添加一个用copy修饰的属性,在类的实现后将指针指向可变数组,打印两者的地址发现地址发生了变化。所以用copy修饰可变对象,将会进行深拷贝。 retain修饰:将上面array的修饰改为retain,对象引用计数器+1,指向同一地址,并没有重新开辟内存地址
开车去更方便一些吧。
腾讯地图也可以找到吧
我查了下,口头村村的地址是在河北保定雄县大营镇口头村村委会
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
笔记本电脑连接到液晶电视机后,如何将电脑屏
顺产时想大便怎么办
合肥评估公司
福州哪家牛太郎烧烤店好?在哪里?价格?
网络玩游戏好卡一会好一会坏
请问博兴有没有大学生创业贷款的优惠政策啊
dnf什么职业好 刷图牛逼的 我很少PK 装备便宜
武汉绿松石检测中心 有吗?哪里可以鉴定绿松
小学评职称说课的要求会怎样规定
小学生读书心得
我想做收废品生意,自由点。
装饰公司开业的讲话稿
我在杭州拱墅区有个便利店要转让,有求租资源
北京顺义区安装棉门帘哪家比较好的啊?
肥东卫校的女生坏吗,风气好吗?
推荐资讯
快递寄一件东西需要10元 那么我寄两件邮费还
菲迪科尔墙衣怎么样?
大矸办税服务厅怎么去啊,有事要去办理
郑州汉釜宫烤肉店怎么样?价位啊环境啊怎么样
2013年废品紫铜多少钱一斤
大都市小爱情哪集大肚子
宿州的永和豆浆都到哪去了?
4人餐桌尺寸是多少
1919年陈毅还只有18岁,陈毅1919—1921年在法
农村户口怎么交城镇职工养老保险
什么是铁艺防盗窗?铁艺防盗窗优缺点
异度空间电玩地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?