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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 香菇 中级黑马   /  2016-11-10 08:47  /  2161 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

[HTML] 纯文本查看 复制代码
1、 Self和super的区别?

    答:self:当前方法调用者,调用自己的方法,如果没有去父类找。谁调用self,
       self就代表谁。self在类方法中指当前类,实例方法中指当前实例对象.

        super表示调用父类方法.



2、 定义属性时候,什么情况下用copy、assign、retain、strong、week

    答:copy:需要使用对象数据,但不想影响原对象内容是可使用cpoy
       用于NSString,block等类型在属性set方法中的作用是
       release旧值,copy新值

        assign:直接赋值,用于基本数据类型,定义int double float时用assign

        retain声明 在MRC下要增加对象的引用计数时用retain,用于oc对象类型
        set方法中retain的作用release旧值retain新值

        strong 相当于retain会将对象的引用计数加1,让对象不容易死

        week 弱指针,适用于OC对象,指向的对象会被立即释放 将指针赋值为nil



//说明:
//因为test2是对象方法 用self表示当前类自己
//test3实例方法 self表示当前实例对象

2 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马