A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xgjyjy 中级黑马   /  2016-3-17 12:20  /  706 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 对象在内存中的存储.
    1). 类加载.
    2). 对象如何存储的呢?
        HMPerson *p1 = [HMPerson new];
        a. 从本质上来讲.HMPerson是我们自定义的1个数据类型.将状态和行为封装为1个整体.
        b. p1是1个指针变量.并不是对象.
        c. 真正创建对象的其实是[HMPerson new];
           -> 在堆内存中申请1块合适大小的空间. 类的所有的属性+isa的指针大小.
           -> 在这个空间根据类的模板创建对象.
              将类的属性依次的 挨个的 一个不落的声明在这个对象中
              还有1个属性叫做isa 是1个指针  指向代码区的类.
           -> 初始化对象的属性.
              属性的类型是基本数据类型  0
                        C指针       NULL
                       OC指针        nil
           -> 将这个对象的地址返回.

        p1是1个指针,指向了堆区的对象.

1 个回复

倒序浏览
初始化对象的属性,可以设定么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马