• 普京力挽狂澜,从北高加索平叛到格鲁吉亚兴兵,从克里米亚回归到叙利亚反恐,给了俄罗斯人民新生——这一切都是和中国同志的支持分不开的。 2019-07-19
  • 人民网评:真实才是旅游景点的核心竞争力 2019-07-17
  • 相比停球失误 王燊超的工作态度比工作能力更低端 2019-07-17
  • 美国最新研究:人类在月球上的活动,无意间造成月球暖化 2019-07-16
  • 西方艺术史中那一抹鲜艳的红 2019-07-14
  • 习近平:携手追寻中澳发展梦想 并肩实现地区繁荣稳定 2019-07-13
  • 四季不离茶,受益一辈子 2019-07-08
  • 不管怎么修饰辞藻,只要放弃革命,就是苏联的结果,还用证明吗? 2019-07-08
  • 缅甸国务资政昂山素季会见魏凤和 2019-07-07
  • 汕头一企业埋暗管偷排 4直接责任人被刑事拘留 2019-07-07
  • 李易峰观影两度感动落泪 2019-07-06
  • 老人被困深山六十余小时 2019-07-06
  • 组图:勇士队横扫骑士队夺得NBA总冠军  2019-07-04
  • 【央视快评】让传统文化焕发新时代风采 2019-07-02
  • 炒房炒房,炒了北京炒西安,炒了天堂炒人间,何时休?限价现价叫人害怕。 2019-06-23
  • 注册 登录
    主题 : 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-07-19
    • 人民网评:真实才是旅游景点的核心竞争力 2019-07-17
    • 相比停球失误 王燊超的工作态度比工作能力更低端 2019-07-17
    • 美国最新研究:人类在月球上的活动,无意间造成月球暖化 2019-07-16
    • 西方艺术史中那一抹鲜艳的红 2019-07-14
    • 习近平:携手追寻中澳发展梦想 并肩实现地区繁荣稳定 2019-07-13
    • 四季不离茶,受益一辈子 2019-07-08
    • 不管怎么修饰辞藻,只要放弃革命,就是苏联的结果,还用证明吗? 2019-07-08
    • 缅甸国务资政昂山素季会见魏凤和 2019-07-07
    • 汕头一企业埋暗管偷排 4直接责任人被刑事拘留 2019-07-07
    • 李易峰观影两度感动落泪 2019-07-06
    • 老人被困深山六十余小时 2019-07-06
    • 组图:勇士队横扫骑士队夺得NBA总冠军  2019-07-04
    • 【央视快评】让传统文化焕发新时代风采 2019-07-02
    • 炒房炒房,炒了北京炒西安,炒了天堂炒人间,何时休?限价现价叫人害怕。 2019-06-23
    • 2014亚冠决赛阿尔希拉尔西悉尼 北京pk10计划方法论坛 燕赵风采20选5开奖结果 北京十一选五现在开奖结果 六合彩直播视频 英国哈德斯菲尔德市 云南时时彩开奖13期 舞线怎么玩 在新浪彩票手机客户端 乐趣江苏麻将app 顶部