首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
yxibng
更多收藏集
微信扫码分享
微信
新浪微博
QQ
33篇文章 · 0订阅
iOS 底层 - 从头梳理 dyld 加载流程
了解 dyld 的加载流程可以帮我们更系统的了解 iOS 应用的本质 . 无论是在逆向方向或者在底层研究方面 , dyld 都是必不可少的领域 . 对流程梳理清楚可以帮助我们更好地了解一些基础原理 . 例如我们之前讲 分类底层原理详细研究流程 , load方法调用机制解析 , …
23个经典设计模式的Swift实现
也就是工厂问题想解决的原始问题。 从代码和UML可以看出,为了得到产品A,调用者Client要同时依赖Product, ConcreteProductA和ConcreteProductB,并亲自写一个创建产品的方法。 每当需求新增一个产品,就要改动到调用方Client。如果这一…
抖音品质建设 - iOS 安装包大小优化实践篇
客户端开发的同学都知道「安装包大小」是 App 重要的基础体验指标之一。今天将为大家介绍抖音在优化安装包大小方向做的一些探索和尝试。 一些影响包大小的编码习惯。 Part 1. 包大小劣化到底带来什么影响 要说 iOS 平台上安装包大小对 App 的影响,首先需要了解到的是 A…
LLVM与Clang的一些事儿
LLVM项目的发展起源于2000年伊利诺伊大学厄巴纳-香槟分校维克拉姆·艾夫(Vikram Adve)与克里斯·拉特纳(Chris Lattner)的研究,他们想要为所有静态及动态语言创造出动态的编译技术。LLVM是以BSD授权来发展的开源软件。2005年,苹果电脑雇用了克里斯…
OCLint 实现 Code Review - 给你的代码提提质量
工程代码质量,一个永恒的话题。好的质量的好处不言而喻,团队成员间除了保持统一的风格和较高的自我约束力之外,还需要一些工具来统计分析代码质量问题。 本文就是针对 OC 项目,提出的一个思路和实践步骤的记录,最后形成了一个可以直接用的脚本。如果觉得文章篇幅过长,则直接可以下载脚本 …
LLVM & Clang 入门
本文主要从下面几个方面简单介绍了一下 LLVM & Clang。 LLVM包含三部分,分别是LLVM suite、Clang和Test Suite。 LLVM suite,LLVM 套件,它包含了 LLVM 所需要的所有工具、库和头文件,一个汇编器、解释器、位码分析器和位码优化…
打造完备的 iOS 组件化方案:如何面向接口进行模块解耦?(二)
总结完使用接口进行模块解耦和依赖管理的方法,我们可以进一步对 router 进行扩展了。上面使用 makeDestination 创建模块是最基本的功能,使用 router 子类后,我们可以进行许多有用的功能扩展,这里给出一些示范。 编写 router 代码时,需要注册 rou…
audioUnit混音
demo地址,AudioMusicMixer这个target。 使用AudioUnitGraph来实现一个混音功能,受到官方混音例子的影响,做了一个不同输入源到不同声道的效果,如左边放音乐、右边放录音。 这个 demo 为了认识两点:1. AUGraph 2.audioUnit…
iOS MVP模式重构实践
最近完成了我司iOS项目的重构,把整体的代码架构都梳理了一遍,主要按照MVP的架构模式,并综合考虑了重构的难度和效果。在这个过程中也积累了一些代码重构方面的经验,在这里总结一下。 首先简单介绍一下项目情况。我们原有项目的架构是比较标准的MVC模式,也是苹果官方推荐的架构模式。M…
WWDC 2018:TextKit 最佳实践
文本内容在 app 内随处可见,展示文本的方式也是多种多样。关注过性能提升的同学会发现,文本控件的高效使用对于整个页面性能的提升至关重要。为此,苹果和开发者都在不断努力。比如苹果日渐完善的文本框架,以及第三方文本框架的代表 YYText。 和平时使用的框架有些不同,我们不需要使…