Block 到底啥时候崩溃

你居然能把block写崩溃?其实关于block,我们不用那么害怕。

阅读更多

个人对于super的调用过程中,一些不一样的理解

网上很多大神所解释的super逻辑,实际上好像并不能说得通。这里有我的一点点理解。

阅读更多

闲情——C语言指针和数组的探索

objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount)函数是runtime中的一个函数,用来 copy 一份类对象的属性列表,返回值为objc_property_t *类型的数组。然后就可以遍历这个数组取出每个属性值。几乎每个字典转模型框架都需要这个函数。

阅读更多

iOS 客户端对于运营商劫持的一点点对抗方式

网络劫持一般有两种情况,一种是DNS劫持,另一种是HTTP劫持

从表现上区分这两种劫持非常简单。

如果是DNS劫持,你输入的网址是google.com,然后出来的页面是百度。

如果是HTTP劫持,你打开了google.com,可是右下角弹出了百度推广的不孕不育广告。

阅读更多

针尖上带着脚镣跳舞的widget

自从iOS 10苹果给widget做了一次大改版后,很多人都开发了自己的widget。网上也有很多教程,来告诉你怎么快速开发一个widget。我的这篇文章也不会重复那些简单的创建extension添加证书之类的东西。我们要深入地看一下widget到底应该做成什么样子。

阅读更多

从@property说起(四)深入成员变量

之前的三篇文章都讲的是interface和setter/getter,这一篇就讲一下ivar。

阅读更多

从@property说起(三)atomic与多线程锁

当我们写下@property (weak) id obj时,编译器默认会给obj这个属性加atomic关键字,也就是说,默认的setter和getter方法里是加了锁的。那么OC中的锁究竟是怎么一回事。

阅读更多

从@property说起(二)weak关键字

当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么

阅读更多

从@property说起(一)开题篇

每天都写了无数次的@property究竟是什么

阅读更多

iOS 客户端基于 WebP 图片格式的流量优化(下)

在 iOS 客户端基于 WebP 图片格式的流量优化(上)这篇文章中,已经介绍了WebP格式图片的下载使用,仅仅只有这样还远远不够,还需要对已经下载的图片数据进行缓存。

曾经有句名言『计算机世界有两大难题,第一是起名字,第二是写一个缓存』,鄙人不能同意更多。

阅读更多