- 博客(17)
- 收藏
- 关注
原创 苹果新规2024-5-1隐私新规的处理方法
在2023年苹果全球开发者大会(Worldwide Developers Conference,简称“WWDC”)上,苹果又宣布了2024年的春季新政策,同时在官网发布的《关于App Store提交的隐私更新》文档中新增了两类隐私保护要求,第一就是要求SDK开发者要增加SDK隐私清单和签名。第二是要求SDK开发者和App开发者如果使用了5类特殊的API,则需要声明具体的使用原因。
2024-04-25 16:09:56 637 1
原创 Dio分析-Fetch过程分析
HttpClientAdapter,实现底层socket的建立和数据发送接收流程,主要涉及openurl, close, request stream写入和response stream读取的过程.参考。Interceptors,包括RequestInterceptors, ResponseInterceptor,ErrorInterceptor实现整个逻辑过程的流转和控制。Transformer,实现同步数据转换逻辑,实现请求数据转换和stream处理,响应数据转换和stream处理,参考。
2024-04-16 17:30:45 253 1
原创 Dio分析-Transform
自定义的StreamTransfomer/// 自定义一个 StreamTransformer ,/// 泛型类型 S 为入参类型,T 为出参类型/// 这些类型都是 Stream 中传递的数据类型// 用来生成一个新的 Stream 并且控制符合条件的数据// 转换之前的 Stream},},// 定义一个 StreamController,注意泛型类型为 T,也就是出参类型,因为// 我们是使用该 _controller 生成一个用来返回的新的 Stream
2024-04-12 11:06:39 934 1
原创 Dio分析-Interceptors
Dio设计的拦截器[Interceptor]用于协助处理[RequestOptions]http请求发送配置, [response]http响应,[DioException]过程异常。这些拦截器在每次请求和响应之间仅被调用一次,意味着重定向不会触发他们的行为。其他设计[InteceptorsWrapper],拦截器封装,帮助创建拦截器。[QueuedInterceptor]队列式拦截器,以task形式在队列中实现拦截器行为。
2024-03-29 11:07:24 1587 1
原创 Dio分析-HttpClientAdapter
用于Dio与底层HttpClient间的桥接。Dio向业务层开发者提供标准和友好的API接口HttpClient, Dart底层真实的网络请求处理对象。通过HttpClientAdapter,开发者可以使用各种自定义HttpClient,而非dart:io:HttpClient,只需要通过HttpClientAdapter实现桥接。
2024-03-28 14:03:02 1989
原创 YYText iOS17兼容问题
使用YYText ,1.0.7在iOS17会遇到如下崩溃主要原因是UIGraphicsBeginImageContext中的asert引发,而改接口早就标记为API_TO_BE_DEPRECATED,建议使用UIGraphicsImageRenderer替换。由于YYText早已没有维护,于是fork了一个自己的git进行修正,主要修正逻辑在textAsynLayer替换为。
2023-09-21 16:05:18 2197 1
原创 RxSwift细节(一)Observable Sink Producer
遵循Dispose,主要目的是封装订阅的Observer,一是可以通过dispose()取消订阅,避免在错误和结束后订阅继续进行,主要实现方法dispose(),二是分派事件,实现前转时的内部逻辑处理,主要方法forwardOn.Producer, 响应业务层的subscribe(Observer),调用子类的run方法,持有sinkDisposer令牌,维持sink的生命周期。subscribe,获得observer订阅的时机,并触发observable.run。回归之前UISwitch+Rx的实例。
2023-09-12 15:37:34 69 1
原创 RxSwift分析
总体来说,DelegateProxyType就是rx内部提供的代理,拦截所有delegate/datasource的回调方法,通过subscribeProxyDataSource实现rx内部的事件观察和处理逻辑,向forwardDelegate/forwardDataSource传递observable事件的数据。作为一个监听用户行为的监听序列,成为一个observable,重要的是对observer(通过subscribe注册的观察者)的事件分派(观察者on方法的调用)
2023-09-11 16:19:55 472
原创 NetworkMoyaBase objective-c和swift通用的网络封装库
通过Moya和Alamofire实现的网络封装库,适配支持objective-c的工程和完全swift工程的业务调用,通过swiftyJSON对网络返回的数据进行JSON化解析,通过HandyJSON和YYModel分别实现对数据的oc数据结构的转换和swift数据结构的转换。
2023-08-25 15:49:59 150 2
原创 Kingfisher图片处理器代码分析
kingfisher类似SDWebImage实现跨平台图片展现功能,包括图片下载管理,缓存和动态图片展现.
2023-08-01 17:39:30 338 1
原创 swift NightNight夜间模式设计分析
与objective-c的DKNightMode相同,对于当前控件实现背景色,字体颜色等在不同模式下的颜色设置和变更,同时提供模式变更的闭包调用。
2023-07-26 15:35:07 94 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人