- 博客(4)
- 收藏
- 关注
原创 iOS 静态库开发
本文旨在说明静态库制作中的一些常见问题和特殊处理1. 打包静态库需要的相关问题和设置静态库中用到分类的需要在项目中设置这个参数:Other Linker Flags为-ObjC或者-all_load静态库中用到了NSClassFromString或者runtime的objc_getClass,但是转换出来的Class 一直为nil。解决方法:在主工程的Other Linker Flags需要添加参数-ObjC即可。如果Xcode找不到框架的头文件,可能是忘记将它们声明为public了Base S
2020-07-31 14:43:47
287
原创 iOS多线程系列之GCD栅栏(barrier)实现同步锁
多线程编程中很容易出现资源竞争的问题,比如异步读写操作造成数据不同步。那么解决这一问题多线程编程中提供了一种同步机制叫同步锁。iOS中实现同步锁机制的方案不止一种,这里主要介绍一下强大的GCD给出的方案----栅栏(barrier) 下面直接上代码:多运行几次看结果:可以看出来dispatch_barrier_async 能够在异步并发队列中对写入操作单个任务进行资源控制,也就是说确保了在写入任务操作3之前的并发任务确定完成,而在写入任务操作3之后的并发任务等待了写入操作3完成之后才进行执行(即使
2020-07-30 19:28:38
820
原创 深入浅出Node异步IO
异步IO## 一、为什么要使用异步I/O用户体验javascript在单线程上执行,它与UI线程是一个线程,如果使用同步,当javascript在执行的时候UI渲染就必须要停止等待,这样就是的用户的体验极差。如果网页需要请求一些资源,通过同步的方式获取的话,那么我们就必须要等待js从服务器完全获取到资源后再继续执行,这期间UI等待,就会使得与用户的交互极差,影响用户的体验感。// 现在请求两个资源//耗时为M毫秒getData('from_db');//耗时为N毫秒getData('fro
2020-07-30 16:36:36
277
原创 整理的一篇iOS面试题大全
#一、基础知识点1.设计模式是什么? 你知道哪些设计模式,并简要叙述?设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型的事情。1). MVC模式:Model View Control,把模型 视图 控制器 层进行解耦合编写。2). MVVM模式:Model View ViewModel 把模型 视图 业务逻辑 层进行解耦和编写。3).单例模式:通过static关键词,声明全局变量。在整个进程运行期间只会被赋值一次。4). 观察者模式:KVO是典型的观察者模式,观察某个属性的状态
2020-07-29 22:23:11
316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人