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

推荐阅读更多精彩内容