首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios技术
订阅
Harllan_lin
更多收藏集
微信扫码分享
微信
新浪微博
QQ
24篇文章 · 0订阅
深入理解苹果系统(Unicode)字符串的排序方法
我们知道计算机是不能直接处理文本的,而是和数字打交道。因此,为了表示文本,就建立了一个字符到数字的映射表,叫做编码。最著名的字符编码就是ASCII了,它使用7-bit来表示应用字母表以及数字和其他字符。这对于英语来说是够用了,但是对于其他语言,这个7-bit就不能满足条件了,因…
Runtime源码 Category(分类)
减小单个文件的代码量(维护一个2000代码的类和维护四个500的代码的类差别还是比较明显的)。 把不同功能组织到不同的Category。 不可以添加实例变量。 在上述的代码片段里,addUnattachedCategoryForClass只是把类和category做一个关联映射…
HTTP和HTTPS详解
互联网的关键技术就是TCP/IP协议。两台计算机之间的通信是通过TCP/IP协议在因特网上进行的。实际上这个是两个协议: IP: Internet Protocol 网际协议。 TCP确保数据包以正确的次序到达,并且尝试确认数据包的内容没有改变。TCP在IP地址之上引端口(po…
iOS学习之深入理解程序编译过程
在 Xcode 编译过后,可以通过 Show the report navigator 里对应 target 的 build 中查看每个 .m 文件的 clang 编译信息。可以直接在 help 中搜索 “ Show the report navigator ” 就会出现 在 …
iOS 中的 GCD 实现详解
以下仅是对Dispatch Queue的分析。 GCD中的队列Dispatch Queue是通过链表和结构体实现的。 FIFO队列的管理是通过dispatch_async等函数来实现的(操作头尾节点)。 在GCD中,可执行的任务有两种方式实现:Block、Function。因此…
【一起学习排序算法】1 算法特性及大O记法
也就是说,排序算法,就是某种算法,将列表中的元素按照某种规则排序。常见的如数字大小排序、字典序排序等。本系列例子约定为从小到大的数字排序,其他的类似,关键在于思路。 按照数组规模的大小,排序可以分为内部排序和外部排序。 内部排序(internal sorting): 全部数组都…
iOS Memory Deep Dive
仅以此文解答自己大学以来多年对内存管理的疑惑。 随着计算机的发展,我们的计算机处理的任务也变得越来越繁多,但是对于某台固定的计算机,CPU 和 Memory 都是固定的,如果有些直接使用物理内存地址的话会带来很多问题。首先编译器不能以一种抽象的角度来描绘内存,在执行的过程中如果…
BeeHive —— 一个优雅但还在完善中的解耦框架
BeeHive是阿里巴巴公司开源的一个iOS框架,这个框架是App模块化编程的框架一种实现方案,吸收了Spring框架Service的理念来实现模块间的API解耦。 BeeHive这个名字灵感来源于蜂窝。蜂窝是世界上高度模块化的工程结构,六边形的设计能带来无限扩张的可能。所以就…
iOS开发·runtime原理与实践: 方法交换篇(Method Swizzling)(iOS“黑魔法”,埋点统计,禁止UI控件连续点击,防奔溃处理)
1. 原理与注意 Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们可以将Method Swizzling代码写到任何地方,但是只有在这段Method Swilzzling代码执行完毕之后互换才起作用。 先给要替换的方法的类添加一个…
禁止自动横屏下的视频播放强制旋转
这个标题有点绕,所以我来解释一下。 之前项目开发的时候需要用到一个视频播放的第三方库,但是这个第三方库在从小屏幕播放切换到大屏幕播放的时候,是需要开启项目的自动旋转支持的。也就是 这个库中有许多细节的部分无法满足实际使用,因此我下了源码后自己根据需求修改。 然而实际应用中,许多…