首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
酱了里个酱
掘友等级
iOS开发
iOS探索之路
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
36
文章 36
沸点 0
赞
36
返回
|
搜索文章
最新
热门
libffi探究
a. libffi的导入 将libffi.a导入到需要使用的工程中,并把include对应的头文件也添加到工程中。 b. libffi的使用 如上所示,通过ffi_call方法实现了函数func1的调用,我们来具体分析下整个流程。 定义函数的参数类型,func1的参数为两个in…
对Block的一些理解
通常在进行一些异步操作的时候,我们都会使用block作为函数参数来回调结果。 通常将block作为函数返回值处理的场景会比较少,不过后面讲到的链式调用就会通过该形式实现。 可以通过设置成员变量为block来通知外部调用者,从而达成两者数据的传递。 当需要在block内修改局部变…
自动释放池AutoreleasePool的探究
根据日志输出得知:MRC下调用自动释放池release方法后,会对在autorelease对象进行释放,因此,此后访问的person变量为野指针,再去访问自然会导致crash。而ARC下,@autoreleasepool并不会立即在结束括号符后,立即释放person变量,而是会…
CFRunLoop的概念及使用
1. CFRunLoopSource 根据上面的执行结果,可见,对于Source0事件,我们必须调用CFRunLoopSourceSignal方法去标记为“待处理”事件,对于CFRunLoopWakeUp可以根据具体情况调用,如果当前RunLoop是处于运行状态,不调用也是OK…
RunLoop概念与使用
运行该代码,会发现threadFired方法并不会调用。为何在子线程就无法生效呢? a. 线程和RunLoop是一一对应的,且互相独立,比如主线程对应mainRunLoop,而子线程也是有它自己所对应的RunLoop。 b. 主线程的RunLoop在应用启动的时候就开始run了…
基于时间轮片方式处理超时任务
处理超时任务:通过定时轮返回的过期数据,将任务超时回调返回。 根据结果,可以看到,若任务10s内能按时完成,则返回对应的任务结果,否则返回timeout为true,并返回一个空结果。
RxSwift源码解析一
如上代码出现两个重要的方法create和subscribe。顾名思义,create方法是创建一个Observable对象,而subscribe方法是创建一个订阅事件。我们先关注下create方法如何创建一个Observable对象。 首先看它传入的参数为一个闭包:AnyObse…
对iOS MVP架构的一点理解
分层不清晰,view controller里面不仅包括视图绑定/更新,还有网络请求、数据解析,业务迭代逻辑等等... ...... 可以将业务很好地区分开来,比如若包括业务P1,P2...Pn,那么我们可以将不同业务交给不同的presenter来处理。当然我们也不是说一个业务就…
从零开始打造一个iOS图片加载框架(四)
显然,这么处理我们只能获取到最终的结果,没办法获取到进度。为了获取到下载的实时进度,我们就需要自己去实现NSURLSession的协议NSURLSessionDelegate。 NSURLSession的协议比较多,具体可以查看官网。这里只列举当前所需要用到的协议方法: 1. …
从零开始打造一个iOS图片加载框架(三)
1. 针对缓存中可配置的属性,我们独立开来作为一个配置类 2. 对于文件增删查改操作,我们先定义一个磁盘缓存相关的协议 为什么是删除文件直到总限制大小的一半才停止删除?由于访问和删除文件是需要消耗一定性能的,若只是达到总限制大小就停止,那么一旦再存入一小部分文件,就很快达到限制…
下一页
个人成就
文章被点赞
154
文章被阅读
47,104
掘力值
1,244
关注了
33
关注者
283
收藏集
11
关注标签
15
加入于
2018-11-09