iOS技术

32 篇文章
25 人订阅

全部文章

indulge_in

iOS 任务调度器:为 CPU 和内存减负

前些时间有好几个技术朋友问过笔者类似的问题:主线程需要执行大量的任务导致卡顿如何处理?异步任务量级过大导致 CPU 和内存压力过高如何优化?

481
indulge_in

美团 EasyReact 源码剖析:图论与响应式编程

18 年 7 月美团开源了 EasyReact,告知 iOS 工程师们响应式编程和函数式编程并非不可分离,似乎一出来就想将 ReactiveCocoa 踢出神坛...

683
indulge_in

iOS 如何高效的使用多线程写在前面一、多线程简述二、多线程的优化思路三、关于“锁”结语

多线程技术在移动端开发中应用广泛,GCD 让 iOS 开发者能轻易的使用多线程,然而这并不意味着代码就一定高效和可靠。深入理解其原理并经常结合业务思考,才能在有...

673
indulge_in

iOS 架构组件:让你的 TableView 优雅起来一、传统方式的弊端二、常规优化思路三、组件架构设计四、组件的弊端五、结语

UITableView是出场率极高的视图组件,开发者通过实现<UITableViewDataSource>和<UITableViewDelegate>协议方法来...

603
indulge_in

设计一个简单的 iOS 架构前言一、关于组件化二、模块化思维划分文件三、减少全局宏的使用四、去基类化设计五、MVC?MVP?MVVM?VIPER?结语

正如“100个读者就有100个哈姆雷特”一样,对于架构的理解不同的软件工程师有不同的看法。架构设计往往是一个权衡的过程,每一个架构设计者都要考虑到各个因素,比如...

743
indulge_in

打造开源第一 iOS 图片浏览器 (支持视频)闲谈

本文主要讲述 YBImageBrowser 的一些功能技术细节,代码架构思路,设计模式选择等,希望对组件原理感兴趣的朋友有所帮助,也可以作为如何高效构建图片浏览...

874
indulge_in

何为代码质量?——用脑子写代码引言正文总结

为什么项目维护困难、BUG 反复?实际上很多时候就是代码质量的问题。代码架构就像是建筑的钢筋结构,代码细节就像是建筑的内部装修,建筑的抗震等级、简装或豪装完全取...

552
indulge_in

YYWebImage 源码剖析:线程调度与缓存策略

在 iOS 开发中,异步网络图片下载框架可以说是很大的解放了生产力,通常情况下开发者只需要简单的代码就能将网络图片异步下载并显示到手机屏幕上,并且还带有缓存优化...

1284
indulge_in

YYImage 源码剖析:图片处理技巧

图片是现代化 APP 界面设计里应用广泛的东西,精美的图片可以带来视觉上的享受,提高用户体验。由此给技术上带来了一些挑战,比如动图的处理、图片显示流畅程度的优化...

973
indulge_in

YYAsyncLayer 源码剖析:异步绘制

性能优化一直是 iOS 开发中的一个重头戏,其中界面流畅度的优化是至关重要的,因为它直接关系到用户体验。从最熟悉和简单的 UIKit 框架到 CoreAnima...

1023
indulge_in

YYModel 源码剖析:关注性能

json与模型的转换框架很多,YYModel 一出,性能吊打同类组件,终于找了些时间观摩了一番,确实收益颇多,写下此文作为分享。

2348
indulge_in

YYCache 源码剖析:一览亮点

YYCache 作为当下 iOS 圈最流行的缓存框架,有着优越的性能和绝佳的设计。笔者花了些时间对其“解剖”了一番,发现了很多有意思的东西,所以写下本文分享一下...

3475
indulge_in

算法思考:单链表的快排与归并

一直不敢写算法的文章,因为很容易被算法大佬打脸?。不过前两天遇到一个题,单向链表的高等排序,挺有意思。虽然这是基础题,但是对于理解快速排序和归并排序的原理有着很...

1495
indulge_in

iOS AutoreleasePool 深入探究

自动释放池,可能对于很多人来说,既熟悉又陌生,作为ARC时代自动管理内存的机制,它一直有着神秘感,为了揭开其面纱,特此写下本篇文章,源码级别对自动释放池进行分析...

3275
indulge_in

iOS 文本输入控制(献上框架)

我们在业务开发中,往往会遇到需要限制文本输入的需求,比如只能输入数字、不能输入空格,稍微复杂一点的比如小数点后最多两位的价格输入。当然,若你的正则表达式玩儿得很...

35812
indulge_in

透彻理解 KVO 观察者模式(附基于runtime实现代码)

推荐另一篇文章:透彻理解 NSNotificationCenter 通知(含实现代码)

4048
indulge_in

iOS多线程应用(四):锁

多线程带来的问题之一就是安全问题,“锁”是为了使多个线程间可以相互排斥地使用全局变量等共享资源,简单来说就是保证同一时刻只有一个线程访问一块代码。

3689
indulge_in

iOS RunLoop 深入探究

RunLoop是iOS或OSX开发中很重要的一个组件,它实现了很多底层的功能,本文主要分析RunLoop的概念、结构、运行原理,文中的结论主要是基于苹果官方文档...

3537
indulge_in

iOS图片浏览器(功能强大/性能优越)

支持 cocopods,功能完善,性能不错,代码质量尚可,喜欢的朋友可以给个小星星?。

4257
indulge_in

透彻理解 NSNotificationCenter 通知

NSNotificationCenter这个东西作为iOS工程师想必都不陌生,但是有人可能连参数的意义都没搞明白,写这篇文章的目的不止是为了让不会用的人会用,更...

3617

扫码关注云+社区