12 2018 档案

摘要:创建ConstraintViewDSL调用UIView 的 snp 方法,生成一个ConstraintViewDSL。注意这个生成的ConstraintViewDSL持有UIView。 创建ConstraintMaker调用makeConstraints,调用ConstraintMaker对应的静态方法。在方法的实现中,创建一个ConstraintMaker。注意这个ConstraintMak... 阅读全文

posted @ 2018-12-30 13:06 花老🐯 阅读(446) 评论(0) 推荐(0)

摘要:如图上图所示,居于中心的是ConstraintDescription,它用来生成Constraint,最后再转换成系统的NSLayoutConstraint。 ConstraintDescription包含约束必备的所有因素 internal let item: LayoutConstraintItem internal var attributes: ConstraintAttr... 阅读全文

posted @ 2018-12-30 12:02 花老🐯 阅读(374) 评论(0) 推荐(0)

摘要:时间顺序如上图:self.latency = initialResponseTime - requestStartTimeself.requestDuration = requestCompletedTime - requestStartTimeself.serializationDuration = serializationCompletedTime - requestCompletedTi... 阅读全文

posted @ 2018-12-28 21:30 花老🐯 阅读(109) 评论(0) 推荐(0)

摘要:以DataRequest 为例子。 最简单的返回URLSession 有一个方法,可以构建 URLSessionDataTaskfunc dataTask(with url: URL, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTaskDataRequest 也提供了... 阅读全文

posted @ 2018-12-28 09:01 花老🐯 阅读(285) 评论(0) 推荐(0)

摘要:AFError is the error type returned by Alamofire. It encompasses a few different types of errors, each with their own associated reasons.使用 AFError 来表示所有的网络错误,分为几大类,每一类又分几小类。AFError 是一个枚举类型!下面就是所有的枚举... 阅读全文

posted @ 2018-12-28 08:55 花老🐯 阅读(245) 评论(0) 推荐(0)

摘要:以创建一个 DataRequest 为例子发起请求创建 SessionManager顺带也创建了一个 SessionDelegate持有一个urlSession,持有一个串行的 DispatchQueue A。注意,这个不是urlSession 回调方法执行时所在的OperationQueue 创建 Requestable 的 struct,并创建underlying 的 URLSessionD... 阅读全文

posted @ 2018-12-22 21:28 花老🐯 阅读(447) 评论(0) 推荐(0)

摘要:源码架构Alamofire 的源码包括 Core、Extensions、Features、Supporting Files。其中主要逻辑在 Core里。包括构造请求,发起请求,处理回调等。 Core 的架构Core 中主要有 SessionManager、SessionDelegate、Request和 TaskDelegate 这些类。 SessionManager是一切的起点,它持有一... 阅读全文

posted @ 2018-12-18 00:53 花老🐯 阅读(603) 评论(0) 推荐(0)

导航