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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© paradise6 中级黑马   /  2015-8-6 07:40  /  989 人查看  /  11 人回复  /   3 人收藏 转载请遵从CC协议 禁止商业使用本文

[size=10.5000pt]1. 深复制和浅复制
浅复制只是复制了指向对象的指针,深复制是复制了一个完全相同的独立对象。
浅复制好比人和影子,人完蛋后影子也不存在了;
深复制好比人和克隆人,人完蛋后克隆人照常或者。
[size=10.5000pt]2. 强指针和弱指针
ARC中引入了强指针和弱指针
weak:代理和UI控件使用弱指针
Strong:其他OC对象使用强指针
在非ARCstrong就相当于retain
[size=10.5000pt]3. 野指针和僵尸对象
僵尸对象:内存已经被回收的对象,僵尸对象不能再被使用
野指针:指向僵尸对象的指针,给野指针发送消息会报错
[size=10.5000pt]4. 代理
A想完成某事,但不愿自己去做。那么将要做的事也就是要实现的方法定义在一个协议中。任何遵守了这个协议的对象都可以成为A的代理。遵守这个协议的代理就要实现协议中的方法。
A拥有一个遵守协议的代理属性。
如果A要完成某事,调用代理的方法即可。
[size=10.5000pt]5. 单例模式
单例模式可以确保一个类只有一个实例对象。目前我所学到的只有
NSFileManager 无论创建多少次,返回的还是同一个对象。
[size=10.5000pt]6. block
跟基本数据类型一样,block也是一种数据类型;
block是用于封装代码段
与函数的调用方式一样
[size=10.5000pt]7. release/autorelease
1> release: 手动将OC对象的引用计数器-1
   autorelease: autorelease过的对象会放在一个自动释放池中,当自动释放池被销毁时,会对池子中的所有对象做一次release操作。
2> 使用release需要考虑对象被释放的时间,要在对象被释放前对其操作,否则会出现野指针和僵尸对象;
   使用autorelease不用再考虑对象被释放的时间,只要在自动释放池中操作对象,都不会出现野指针和僵尸对象。
3> release可以精确控制对象释放的时间,防止占用内存过大,造成程序闪退;
   autorelease无法精确控制对象释放的时间,如果对象占用内存过大,会造成程序闪退;如果对象内存很小,没有影响。
[size=10.5000pt]8. property 参数
assign:用于非OC对象
retain:用于OC对象
copy:用于NSStringNSMutableString
readOnly:只读
readWrite:读写
atomic:原子性,性能低
nonatomic:原子性,性能高
setter = :更改set方法名
getter = :更改get方法名(一般用于bool类型因为bool类型方法名一般以is开头)
循环引用时,一端用retain一端用assign
ARC
strong:相当于非ARC中的retain,用于其他OC对象
weak:用于代理,UI控件
循环引用时,一端用strong一端用weak
[size=10.5000pt]9. 懒加载
防止对象被创建多次占用内存过大影响系统性能,那么重写get方法
用到的时候再去判断对象是否创建,如果没有创建过才去创建新对象。
[size=10.5000pt]10. includeimport的区别
importinclude都是用于 拷贝文件内容
import可以自动纺织文件被拷贝多次
[size=10.5000pt]11. 条件编译
预处理指令包括宏定义、条件编译和文件包含
条件编译一般用于文件包含中
判断一个宏是否定义,如果没有定义那么定义这个宏,如果已经定义了就不会在拷贝文件。
[size=10.5000pt]12. 内存管理原则
每个对象中都有一个默认的引用计数器,用来表示目前有几个对象在使用这个对象。
dealloc像死者遗言,retain过的对象要在这里做一次release操作,在代码末尾一定要调回super dealloc

11 个回复

倒序浏览
留着以后用
回复 使用道具 举报
学习了···谢谢···
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
thanks for ur share
回复 使用道具 举报
谢谢分享,留着以后用
回复 使用道具 举报
好帖子,收藏下
回复 使用道具 举报
不错~~  这就是经验
回复 使用道具 举报
这是就业班的面试题?
回复 使用道具 举报
给力......对我们有很大的帮助   希望大家都能找到理想的工作
回复 使用道具 举报
tt3tt3tt 发表于 2015-8-6 23:34
这是就业班的面试题?

这是我面试前准备的   这里面问题只有单例模式和懒加载没有问  其他都问了  
回复 使用道具 举报
和夏一样狂热 发表于 2015-8-6 23:41
给力......对我们有很大的帮助   希望大家都能找到理想的工作

这个内容不完全是我的面试题 这是我准备的   单例模式和懒加载都没问到   
还加了一个内部函数和外部函数   @class的应用  还有什么想不起来啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马