iOS 开发杂谈

50 篇文章
14 人订阅

全部文章

s_在路上

如何实现LRU缓存淘汰算法

LRU:Least recently used,最近最少使用。缓存算法根据数据最近被访问的情况来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问...

571
s_在路上

为什么数组都是从0开始编号

为什么数组都是从 0 开始编号,首先先了解一下数组的概念。 数组 Array 是一种线性表数据结构,是一组连续的内存空间,用来存储一组具有相同类型的数据。数组...

893
s_在路上

浅谈面向对象的六大原则

核心思想:不要存在多于一个导致类变更的原因,通俗的说,即一个类只负责一个功能。如果一个类里面添加了多个功能,当其中有一个功能发生了变化,就会有多种原因引起这个类...

642
s_在路上

浅谈第三方 SDK 和自定义 crash 上报冲突问题

在开发 iOS 应用,解决 Crash 问题始终是一个难题。Crash 分为两种,一种是由 EXC_BAD_ACCESS 引起的,原因是访问了不属于本进程的内存...

1212
s_在路上

浅谈 LinkMap 检查每个类占用大小

LinkMap 文件是 Xcode 产生可执行文件的同时生成的链接信息,用来描述可执行文件的构造成分,包括代码段 __TEXT 和数据段 __DATA 的分布情...

924
s_在路上

HTTPS 之原理

HTTPS 在传输数据之前需要客户端与服务端之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL 协议是一套加密传输的协议,使用了非对...

1336
s_在路上

HTTPS 之对称加密与非对称加密

加密 encryption 与解密 decryption 使用的是同样的密钥 secret key,对称加密是最快速、最简单的一种加密方式。加密和解密算法是公开...

974
s_在路上

浅谈 NSTimer 是否精确?

NSTimer 的启动依赖 RunLoop,如果在主线程中做了耗时的操作,当前 RunLoop 持续的时间超过了定时器的间隔时间,那么下一次定时就被延后了。

922
s_在路上

iOS 编译过程

iOS 编译采用 Clang 作为编译器前端,LLVM 作为编译器后端,编译器前端负责语法分析,语义分析,生成生成中间码 (LLVM IR),在这个过程中,会进...

992
s_在路上

iOS 泛型 ObjectType 协变 __covariant 逆变 __contravariant

__covariant(协变):用于泛型数据强转类型,可以向上强转,子类可以转成父类。 __contravariant(逆变):用于泛型数据强转类型,可以向下...

1183
s_在路上

iOS 开发小技巧

在使用view的缩放的时候,layer.border.width随着view的放大,会出现锯齿化的问题,解决这个问题需要设置这个属性。

943
s_在路上

浅谈 iOS NSNotification

NSNotificationCenter 就相当于一个广播站,使用 [NSNotificationCenter defaultCenter] 来获取,NSNot...

643
s_在路上

浅谈 AutoreleasePool 的实现原理

在 MRC 的环境下,可以通过调用 [obj autorelease] 将对象添加到当前的 autoreleasepool 中,来延迟释放内存;

682
s_在路上

浅谈 Objective-C Associated Objects

Associated Objects 是 Objective-C 2.0 中 Runtime 的特性之一。 在 <objc/runtime.h> 中定义的三个...

853
s_在路上

浅谈 KVC

KVC 是 KeyValue Coding 的简称,遵循 NSKeyValueCoding 协议,它是一种可以直接通过字符串的名字 key 来访问类属性的机制,...

763
s_在路上

Charles 之 http、https 配置

手机必须和电脑连接同一个局域网,点击“设置->无线局域网->选择连接的WiFi”,设置 http 代理:

902
s_在路上

浅谈 NSUserDefaults

每次程序启动的时候调用 registerDefaults: 方法都是安全的,完全可以将这个方法的调用放到 applicationDidFinishLaunchi...

1046
s_在路上

git 奇技淫巧

和 revert 的区别:reset 命令会抹去某个 commit id 之后的所有 commit

571
s_在路上

浅谈 KVO 的实现原理

KVO 全称 KeyValueObserving 是 Objective-C 对观察者模式(Observer Pattern)的实现;KVO 提供一种机制,当指...

1443
s_在路上

Flutter 环境搭建

要获得 Flutter,请先使用 git 克隆 Flutter,然后将该 flutter 工具添加到您的用户路径。运行 flutter doctor 显示您可能...

1442

扫码关注云+社区