首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS
订阅
Taaaaaaang
更多收藏集
微信扫码分享
微信
新浪微博
QQ
20篇文章 · 0订阅
关于iOS中的13种加锁方案
iOS中有很多锁,那么平时使用过程中到底怎么使用呢?本文分享13种加锁方案。本文较长总共一万字。文中代码在github上。 可以看到除了 OSSpinLock 外,dispatch_semaphore 和 pthread_mutex 性能是最高的。现在苹果在新系统中已经优化了 …
组件化的一个新想法
目前国内业界的方案:URL路由、CTMediator、Beehive。这次我要介绍一个复古简单又全新的方案。 先回答两个问题。 什么是组件?从最细粒度去考虑,一个符合单一职责原则的类就是一个组件;再扩大一点,为了完成某个独立功能的几个类可以称之为组件,比如NSArray类簇、实…
iOS 流媒体开发之三:HLS 直播(M3U8)回看和下载功能的实现
如今我们也会有直播回看和下载的需求,一些 APP 包括我们自己的项目也已经实现了这些功能,网上讲解这部分技术的知识相对较少,而且有很多都不是很靠谱,我这里抛砖引玉,给大家提供一种思路,仅供参考。所以建议大家理解我的思路,尽量不要直接拿来用在项目里,后面我会详细讲解有哪些地方在应用到项目中需要额外的处理。
音视频&流媒体
是什么促使我要写这一篇音视频&流媒体门的初级文章?那是因为和一妹子打赌码率的概念,结果输了;对一个技术人员而言,码率这个种最基本的概率都没整明白,简直是奇耻大辱,开个玩笑。有了这个前提之后,发现,还是得多理解下原理和基础入门知识。 当下,音视频、流媒体已经无处不在,直播已经火了…
iOS 即时通讯,从入门到 “放弃”?
本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。
iOS 的 Code Signing 体系
iOS中的Code Signing体系非常复杂,对新手非常不友好,虽然目前网上已经存在大量文章对此进行比较透彻的分析,最核心的部分已经讲解得非常清楚,我阅读了这些文章后,确实从中学习到不少知识,但我始终还是对Code Signing体系中很多相关的地方有着疑惑,于是决定认真地探…
从零讲解 iOS 中 OpenGL ES 的纹理渲染
本文主要介绍,如何使用 OpenGL ES 来渲染一张图片。内容包括:基础概念的讲解,如何使用 GLKit 来渲染纹理,如何使用 GLSL 编写的着色器来渲染纹理。 OpenGL(Open Graphics Library) 是 Khronos Group (一个图形软硬件行业…
iOS源码解析: 聊一聊iOS中的hook方案
iOS中通常使用runtime来对OC方法进行hook,runtime不能用于C语言函数。而fishhook堪称iOS中的hook神器,可以对C语言函数进行hook。这篇博客对这两种hook方案以及一些三方库的源码进来了解析。 runtime提供了两个函数用于实现OC方法hoo…
深入理解 iOS 事件机制
这篇文章始于一个需求:我们在 SDK 提供的某个 View 的 Subview 中实现了单击双击等多个 Gesture Recognizer,而客户希望自己在这个 View 上的单击手势不会冲突,同时没有延迟。 借此机会,我们来重温下 iOS 的事件机制和手势冲突,重点介绍下 …
iOS 内存布局&内存管理方案
创建临时变量时由编译器自动分配,在不需要的时候自动清除的变量的存储区。 里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 那些由 new alloc 创建的对…