android工程师开发IOS oc浅析(4 )之self

24 篇文章 0 订阅

self关键字
简述

  1. self可以用在对象方法和类方法中

  2. self是个指针

  3. 在对象方法使用self

      1. self是一个指针, 在对象方法中指向当前对象——谁调用这个对象方法, 谁就是这个对象方法的当前对象

      2. 作用: 可以使用self来显式的访问当前对象的成员

        可以使用self关键字来显式的访问当前对象的属性

        以前都是对象指针->属性

        现在可以 self->属性

        可以使用self来显式的调用当前对象的其他对象方法

      3. 必用场景

        如果方法中存在和属性名同名的局部变量, 这时候如果写变量名就访问的是这个局部变量, 如果想要访问属性就必须用self

        如果在对象方法中要调用当前对象的其他对象方法, 必须self

      4. 选用场景

        在方法中, 如果没用和属性同名的局部变量, 写属性名那就是访问的属性名

      5. 注意: 属性的名字以下划线开头, 局部变量不要以下划线开头, 这样就不会发生重名的这种问题

  4. 在类方法中使用self

      1. 类加载: 当类第一次被访问的时候, 就会就爱那个这个类存储在代码段, 一旦存储, 直到程序结束才会被释放

      2. 在类方法中, self也是一个指针, 这个指针指向当前这个类在代码段中的地址

      3. 如何拿到类在代码段的地址:

        1. 查看对象的isa指针

        2. 在类方法中查看self指针

        3. 对象方法class, [对象 class], 得到这个对象所属的类的地址

        4. 类方法class, [类 class] 也可以得到这个类所在的地址

        5. 在类方法中, self确实是指向当前这个类的. 即self代表当前这个类, 在某种程度上, 我们就可以这么认为, self就是当前类, 当前类和self完全等价->在类方法中, 可以使用当前类的地方, 完全可以使用self来代替

          在类方法中, 可以使用self来代替当前类, 使用当前类的地方, 可以使用self来代替——要调用当前类的其他类方法的地方, 就可以用self来调用

          在类方法中创建当前类的对象的时候, 也可以用self来代替[self new];

          但是不能够用来声明变量;
    self总结

  5. self可以使用在对象方法和类方法中

  6. 在对象方法中, self代表当前对象, 可以使用self来显式的访问当前对象的成员

      可以使用self来访问当前对象的属性, 调用当前对象的对象方法

      注意: 在对象方法中不能使用self来调用类方法, 因为类方法必须使用类名来调用, 而这个时候, self不代表当前类

3.在类方法中, self代表当前类→可以使用self来调用当前对象的类方法

 注意: 在类方法中, 不能使用self访问属性调用对象方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值