iOS 周刊 第一期
2015-03-31 本文已影响384人
iOS行者
一.多线程安全方案
1.用同步锁,但是很影响性能
2.用NSLock,也是锁机制
3.用派发队列,在并行队列里面,结合dispatch_barrier,保证并发队列的数据操作是独立执行的。----参考《52个高效cocoa编程方法》
总结:第三种方式最优,但是,很少用。当然也可以用串行队列,但是并行队列效率更好。还有,对于单例的写法:最好用 dispatch_once.
二.图片圆角的处理
1.用 layer ,但是这样影响性能
2.用一个带圆角的框
当然可能还有更好的方法,求指导。。。
三.谈谈你对block的看法
我想听到这么开放性的问题,你肯定懵了。
可以从block的数据结构回答。
四.子线程的通知会回调主线程吗?
在哪个线程post,就在哪个线程响应,而和注册监听的线程无关。当然,如果你在注册监听的时候指定了在哪个线程,那么,就会在哪个线程响应。
五.定义一个库或者框架需要注意什么?
1.用前缀避免命名空间冲突,包括类名,全局变量等
2.尽量使用不可变的对象,
3.使用清晰而协调的命名方式
4.为私有方法加上前缀,区别公有方法
5: 注释你的header文件
6.初始化参数
五.地图偏差解决
用纠偏的数据库,或者接口,暂时没想到更好的办法
参考:http://southpeak.github.io/blog/2015/03/14/nsnotificationyu-duo-xian-cheng/
http://blog.csdn.net/mad1989/article/details/10034251