Asingers Blog

Life is struggle

dispatch_group & semaphore

GCD

dispatch_group从名字上也知道他是一个组,他的用法就是把一组任务提交到队列中,然后可以监听这些任务. 常见的方法: dispatch_group_create创建一个调度任务组 dispatch_group_async 把一个任务异步提交到任务组里 dispatch_group_enter/dispatch_group_leave 这种方式用在不使用dispatc...

理解线程

GCD

含义 首先我们来理解 GCD 的含义: GCD全称是Grand Central Dispatch GCD是苹果公司为多核的并行运算提出的解决方案 GCD会自动利用更多的CPU内核(比如双核、四核) GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程) 再来理解 串并行,同异步: 串行队列同步...

知识点回顾

温故而知新

Runtime Q: objc在向一个对象发送消息时,发生了什么? A: 根据对象的 isa 指针找到类对象 id,在查询类对象里面的 methodLists 方法函数列表,如果没有在好到,在沿着 superClass ,寻找父类,再在父类 methodLists 方法列表里面查询,最终找到 SEL ,根据 id 和 SEL 确认 IMP(指针函数),在发送消息. Q: 什么时候会报u...

SDWebImage 缓存机制

SDWebImage 缓存机制

SDWebImage 相信对大多数开发者来说,都是一个不陌生的名字。它除了帮助我们读取网络图片,还会处理这些图片的缓存。它的缓存机制到底是什么样的呢,今天我们就来看一看. 基本结构 SDWebImage 有很多类,有一个专门的 Cache 分类用来处理图片的缓存。 这里面也有两个类 SDImageCache 和 SDImageCacheConfig。 大部分的缓存处理都在 SD...

OC 编码规范

OC 编码规范

好代码不只是在逻辑上溜的一 X, 在浏览和阅读上也应该像”艺术”才对. 1.1用ARC自动管理内存 用ARC自动管理内存,不是ARC环境,需要用“-fobjc-arc”混编命令 1.2、类 a)类名以“SH”开头,后面跟该界面中文名对应的英文名,如果英文名比较偏,则使用汉语拼音; b)继承UIView,类名后缀为“View”,继承UIViewController,类名后...

HTTP 超文本传输协议

学习笔记

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted...