• 故宫文创产品在韩国展出 2019-05-26
  • 明清家具风格差异(知闻) 2019-05-26
  • 【每日最陕西】NO.1449 西安幼升小反映问题是去年近3倍 上学难层出不穷 2019-05-26
  • 美国发起贸易战,我们要让世界知道美元、美债并不可靠 2019-05-25
  • 新一轮中美北京经贸谈判释放了什么信号 2019-05-25
  • 您访问的页面找不回来了 2019-05-25
  • 小区麻将馆 何时不扰民 2019-05-24
  • 端午节期间济南增开20.5对热门方向列车 2019-05-24
  • 借“谈心”暗示罪犯行贿!“80后”监狱指导员沦为阶下囚 2019-05-23
  • 你读过的教科书没有给你讲过共产主义,所以你也不知道共产主义社会的核心内容是什么。[微笑][微笑] 2019-05-23
  • 电子商务法草案三审:微商纳入经营者范围,个人二手转让不算 2019-05-23
  • 2018年东南大学将继续推进“金钥匙计划”与国际化办学 2019-05-23
  • 前所未见的“苏州雪景”大片 怎一个美字了得 2019-05-22
  • 淮北市:“智慧城管+”综合治理新模式 2019-05-22
  • 新科欧洲状元 五盾军团能否延续法兰西之夏荣耀 2019-05-22
  • 注册 登录
    主题 : OC对象与指针问题,求解惑??!
    级别: 新手上路
    状态: 连续签到 - [16天]
    UID: 481472
    精华: 0
    发帖: 11
    可可豆: 120 CB
    威望: 92 点
    在线时间: 30(时)
    注册时间: 2015-06-15
    最后登录: 2019-05-17
    0 楼:  发表于: 2019-03-10 22:32    发自: Web Page
    来源于 一般提问 分类

    历史六合图库:OC对象与指针问题,求解惑??!   


    今天突然想到指针的问题,然后
    我写了个测试如下:

     六合图库财神 www.lbymm.tw 
    
        NSNumber *no1 = @2;
        NSNumber *no2 = no1;
        no1 = @4;
        NSLog(@"no2: %@, no1:%@",no2,no1);     //-----  2,4。值不同
        NSLog(@"no2: %p, no1:%p",&no2,&no1);   // ----- 地址不同。
    
    



    我原以为oc对象都是指针,然后指向对象那块内存,对象间的赋值是指针的复制。  
    但这个结果说明,OC对象的赋值不是指针复制,那是内容复制吗,内容复制那不就是深拷贝了么?
    还有oc里,方法和block的参数都是形参吧?
    希望大佬解惑。


    级别: 侠客
    UID: 511656
    精华: 0
    发帖: 116
    可可豆: 157 CB
    威望: 147 点
    在线时间: 647(时)
    注册时间: 2015-10-08
    最后登录: 2019-03-11
    1 楼:  发表于: 2019-03-11 09:35    发自: Web Page
    是因为‘NSNumber字面’。@是个语法糖 这里的@4 相当于 [NSNumber numberWithInt:4]; 相当于初始化了no1,所以值不同,内存地址也不同
    btw:
    Clang 3.1为Objective-c增加了三个功能,它们的美学和装饰效果可以和Objective-C 2.0引入的变化相媲美:NSNumber字面,集合字面,和__对象的下标索引__。
    [ 此帖被caoshunqing123在2019-03-11 09:43重新编辑 ]

    级别: 新手上路
    UID: 678057
    精华: 0
    发帖: 1
    可可豆: 1 CB
    威望: 1 点
    在线时间: 4(时)
    注册时间: 2019-03-11
    最后登录: 2019-04-08
    2 楼:  发表于: 2019-03-11 09:38    发自: Web Page
    ...........
    级别: 精灵王
    UID: 164303
    精华: 0
    发帖: 3111
    可可豆: 3469 CB
    威望: 3446 点
    在线时间: 5520(时)
    注册时间: 2012-09-02
    最后登录: 2019-05-15
    3 楼:  发表于: 2019-03-11 09:39    发自: Web Page
    一开始no1和no2都指向了 @2
    然后no1重新指向了@4
    下面两个结果是正常的,没有什么所谓深拷贝的问题。
    级别: 版主

    状态: 连续签到 - [83天]
    UID: 519631
    精华: 0
    发帖: 1029
    可可豆: 1991 CB
    威望: 1364 点
    在线时间: 3190(时)
    注册时间: 2015-11-02
    最后登录: 2019-05-18
    4 楼:  发表于: 2019-03-11 09:43    发自: Web Page
    设:@2的地址是0x100,@4的地址是0x102

    NSNumber *no1 = @2;
    此时no1的值为0x100,此时no1本身在栈上假设地址为0xff100

    NSNumber *no2 = no1;
    此时no2的值为0x100,此时no2本身在栈上假设地址为0xff108

    no1 = @4;
    此时no1的值为0x102,no1在栈上地址为0xff100

    NSLog(@"no2: %@, no1:%@",no2,no1);
    此时两个指针的值不一样

    NSLog(@"no2: %p, no1:%p",&no2,&no1);
    此时两个指针变量自身的地址不一样
    [ 此帖被ad0ma在2019-03-11 10:11重新编辑 ]

    级别: 新手上路
    状态: 连续签到 - [6天]
    UID: 464136
    精华: 0
    发帖: 62
    可可豆: 128 CB
    威望: 95 点
    在线时间: 1457(时)
    注册时间: 2015-04-20
    最后登录: 2019-05-17
    5 楼:  发表于: 2019-03-11 09:46    发自: Web Page
    @4 是重新创建了对象吧
    级别: 新手上路
    状态: 连续签到 - [16天]
    UID: 481472
    精华: 0
    发帖: 11
    可可豆: 120 CB
    威望: 92 点
    在线时间: 30(时)
    注册时间: 2015-06-15
    最后登录: 2019-05-17
    6 楼:  发表于: 2019-03-11 09:57    发自: Web Page
    回 1楼(caoshunqing123) 的帖子
    原来如此,@4是创建了新的对象??!
    级别: 新手上路
    状态: 连续签到 - [16天]
    UID: 481472
    精华: 0
    发帖: 11
    可可豆: 120 CB
    威望: 92 点
    在线时间: 30(时)
    注册时间: 2015-06-15
    最后登录: 2019-05-17
    7 楼:  发表于: 2019-03-11 09:58    发自: Web Page
    回 3楼(noah1985) 的帖子
    知道啦,感谢!对了,一般oc对象的传值确实是指针的复制吧?
    级别: 新手上路
    状态: 连续签到 - [16天]
    UID: 481472
    精华: 0
    发帖: 11
    可可豆: 120 CB
    威望: 92 点
    在线时间: 30(时)
    注册时间: 2015-06-15
    最后登录: 2019-05-17
    8 楼:  发表于: 2019-03-11 10:00    发自: Web Page
    回 4楼(ad0ma) 的帖子
    理的好清楚,感谢大佬!
    那么一般oc对象的传值确实是指针的复制吧?
    级别: 新手上路
    状态: 连续签到 - [16天]
    UID: 481472
    精华: 0
    发帖: 11
    可可豆: 120 CB
    威望: 92 点
    在线时间: 30(时)
    注册时间: 2015-06-15
    最后登录: 2019-05-17
    9 楼:  发表于: 2019-03-11 10:00    发自: Web Page
    回 5楼(misslove1015) 的帖子
    对对, 是我脑子瓦特了 TAT

    CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:[email protected]】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

    描述
    快速回复

    关注本帖(如果有新回复会站内信通知您)

    发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

    按"Ctrl+Enter"直接提交
    • 故宫文创产品在韩国展出 2019-05-26
    • 明清家具风格差异(知闻) 2019-05-26
    • 【每日最陕西】NO.1449 西安幼升小反映问题是去年近3倍 上学难层出不穷 2019-05-26
    • 美国发起贸易战,我们要让世界知道美元、美债并不可靠 2019-05-25
    • 新一轮中美北京经贸谈判释放了什么信号 2019-05-25
    • 您访问的页面找不回来了 2019-05-25
    • 小区麻将馆 何时不扰民 2019-05-24
    • 端午节期间济南增开20.5对热门方向列车 2019-05-24
    • 借“谈心”暗示罪犯行贿!“80后”监狱指导员沦为阶下囚 2019-05-23
    • 你读过的教科书没有给你讲过共产主义,所以你也不知道共产主义社会的核心内容是什么。[微笑][微笑] 2019-05-23
    • 电子商务法草案三审:微商纳入经营者范围,个人二手转让不算 2019-05-23
    • 2018年东南大学将继续推进“金钥匙计划”与国际化办学 2019-05-23
    • 前所未见的“苏州雪景”大片 怎一个美字了得 2019-05-22
    • 淮北市:“智慧城管+”综合治理新模式 2019-05-22
    • 新科欧洲状元 五盾军团能否延续法兰西之夏荣耀 2019-05-22
    • 顶部