- 博客(12)
- 资源 (5)
- 收藏
- 关注
原创 RAC使用及解析
一、基础使用RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber> _Nonnull subscriber) { [subscriber sendNext:@"????????????"]; [subscriber sendCompleted]; return [RACDisposable disposableWithBlock:^{
2020-09-15 23:19:07
758
1
原创 RAC源码解析
RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber> _Nonnull subscriber) { [subscriber sendNext:@"????????????"]; [subscriber sendCompleted]; return [RACDisposable disposableWithBlock:^{
2020-09-01 22:17:55
291
原创 Masonry源码理解
类图最主要的是uiview的MASAdditions分类中的三个方法mas_makeConstraints 设置约束mas_updateConstraints 更新约束mas_remakeConstraints 重设约束mas_makeConstraints点进去看mas_makeConstraints方法的实现MASConstraintMaker新建了MASConstraintMaker类,这是一个工厂类(todo)初始化的时候保存了view,初始化了constraints数组,从字面
2020-07-27 22:40:05
307
原创 UIBezierPathAndCoreGraphics
title: CoreGraphicsAndUIBezierPathdate: 2019-06-10 17:05:34tags:一.Core Graphics1.简介Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎2.CGContextRef图形上下文,绘图之前需要获取该上下文并传入执行渲染的函数中,有两种方式获取2.1dra...
2020-01-14 15:37:05
332
原创 iOS核心动画
title: 核心动画date: 2019-10-14 10:33:15tags:一、仿射变换CGAffineTransform1.CGAffineTransform*iOS所有继承UIView的类都有一个CGAffineTransform类型的属性transform 1(a) 0(b) 0 仿射变换 transform:...
2020-01-14 15:21:26
465
原创 GCD相关
title: GCD相关date: 2019-09-11 10:58:45tags:记得之前面试的时候遇到一个问题,一个tableview需要请求多个接口展示数据,如何避免卡顿,当时不太清楚,这里就总结一下GCD相关的一些东西。#1.简介GCD是iOS多线程的一种实现方式,GCD会自动管理线程的生命周期,程序员只要告诉GCD要执行什么任务,不需要编写任何线程管理代码#2.任务任务就...
2020-01-14 14:08:44
226
原创 Rxswift使用
title: Rxswift使用date: 2019-12-11 16:58:26tags:一、函数响应式编程1.函数式编程函数式编程是种编程范式,它需要我们将函数作为参数传递,或者作为返回值返还。我们可以通过组合不同的函数来得到想要的结果let gradeThreeTwoStudent = students.filter { (student) -> Bool in ...
2020-01-03 10:27:07
509
原创 AVFoundation之高级功能
title: AVFoundation之高级功能date: 2019-09-23 17:32:34tags:一、人脸识别A、步骤1.创建AVCaptureSessionself.captureSession = AVCaptureSession()if self.captureSession.canSetSessionPreset(.high) { self.capture...
2019-12-27 17:37:35
895
原创 AVFoundation学习之视频录制
title: AVFoundation学习之视频录制date: 2019-08-22 16:28:50tags:一、AVAsset理解*前一篇完整视频播放里面的AVPlayerItem初始化可以是self.avPlayerItem = AVPlayerItem(url: self.movieURL)也可以用AVAsset初始化self.avPlayerItem = AVPlaye...
2019-12-27 17:27:16
1504
原创 AVFoundation学习之视频播放
title: AVFoundation学习之视频播放date: 2019-08-22 11:26:37tags:一、CMTime理解*AV Foundation中使用CMTime数据结构记录时间信息。typedef struct{ CMTimeValue value; CMTimeScale timescale; CMTimeFlags fla...
2019-12-27 17:25:52
5890
原创 AVFoundation学习之简介及音频相关
title: AVFoundation学习之简介及音频相关date: 2019-08-20 10:22:52tags:一、简介AVFoundation是可以用它来播放和创建基于时间的视听媒体的几个框架之一二、音频播放及录制1.音频播放(1)初始化AVAudioSessionlet session = AVAudioSession.sharedInstance() do {...
2019-12-27 17:24:30
1201
原创 Runtime总结
title: Runtime总结date: 2019-07-25 10:26:17tags:一、简介OC中的runtime是用c和汇编写的运行时的库,将数据类型的确定由编译时推迟到了运行时,oc代码最终都会转换成runtime的c语言代码,oc需要runtim来创建类和对象,进行消息发送和转发。对于我们熟悉的C语言,函数的调用在编译的时候会决定调用哪个函数。但对于OC的函数,属于动态调...
2019-12-25 20:24:36
257
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人