HR's Blog

Swimming 🏊 in the sea🌊of code!

0%

最早计算机在设计时采用8个比特bit作为一个字节byte。所以一个字节最大的整数就是255。0~255被用来表示大小写英文字母,数字和一些符号,这些编码成为ASCII编码。例如大写字母A的编码就是25,小写z的编码就是122.

Read more »

表现和值一样,唯一的不同就是等于向编译器承诺在运行时的时候一定会有值。最常见的使用场景就是IBOutlet的时候,我们可以确保在编译的时候有值,但是如果用optional就得到处检查IBOutlet检查的值,就会显得非常繁琐,所有可以解决这个问题。

Read more »

UTF-8可以与之前的码兼容,但是遇到比7bits更大的编码UTF-8是怎么处理的? 例如符号 ½,在UTF-8中的编码是101111101,使用了8bits这时候在UTF-8中就需要两个字节来存储。 当需要更高位的时候,则可以用下面的表格来推算他。

Read more »

weak与源码编译问题解决 根据block存放的位置不同,block分为不同的类型。 block有三种类型,可以通过调用class方法或者isa指针来查看具体类型,最终都是继承自NSblock类型。 我们在分析block拷贝的时候,可以把block当作是变量。

Read more »

当我们在@property上加上strong和copy关键字以后,编译器都为我们做了什么? 可以看到我们在使用点语法的时候,最终是生成了相应的set方法和,找到这两个方法的实现,给所有参数都申请了和方法。而最终调用的是方法。

Read more »

问题:GCD为什么不会导致循环引用 这个问题得分开回答,同步和异步线程 dispatchsync苹果官方是这么写的 As a performance optimization, this function executes blocks on the current t...

Read more »