NotificationCenter类实现原理, 目录 正文 1、首先定义一个NotificationCenter类定义 2、然后定义一个观察者对象 3、在NotificationCenter中添加注册观察者的方法 4、在 NotificationCenter 中添加发送通
Swift 中的 RegexBuilder学习指南, 目录 前言 Regex 字面量 RegexBuilder - 像写代码一样写正则 RegexRepetitionBehavior Foundation 的支持 总结 前言 在我们日常的项目开发中,经常会碰到和正则表达式
Swift 中 Opaque Types学习指南, 目录 什么是Opaque Types 如何使用 为什么要使用 可读性更强 性能更好 使用的限制 总结 什么是Opaque Types Opaque Types 是在 Swift5.7 新添加的一个特性。主要是和
Swift中的可选项Optional解包方式实现原理, 目录 为什么需要Optional 什么是Optional Optional实现原理 Optional的解包方式 1. 可选项绑定(Optional Binding) 2. 强制解包(Forced Unwrapping) 3. 隐式解包(
Swift中的高阶函数功能作用示例详解, 目录 高阶函数的作用 1. 简化代码 2. 提高可读性 3. 支持函数式编程 4. 提高代码的可重用性 常见的高阶函数 1. map() 2. filter() 3. reduce() 4. sorted() 5.
Swift enum枚举类型使用详解, 目录 前言 AFError Result Optional 最后举一个enum的典型例子 总结 前言 我一直在思考如何去讲解Swift中的枚举类型,它是如此让人熟悉,不免就让你跟着编程经验
Swift使用enum抹平数组元素差异实例详解, 目录 前言 业务场景 用什么控件 使用UIScrollView的分析 使用UITableView的分析 加工数据 总结 前言 通过Protocol去封装入参,抹平了入参之间的差异。
swift指针及内存管理内存绑定实例详解, 目录 swift API 绑定 绕过编译器检查 - assumingMemoryBound 内存转换 - bindMemory 临时改变内存绑定 - withMemoryRebound swift API 绑定 swift提供了3种不同的API来
swift内存管理指针类型使用实例详解, 目录 为什么说指针不安全 指针类型 原始指针-rawPointer 的使用 size/stride/alignment的理解 情况一 情况二 泛型指针的使用 为什么说指针不安全 我们在
Swift Error重构的基础示例详解, 目录 Error 定义 概述 用枚举来表示简单的错误 用结构体或其他类型表示复杂的错误 处理Error的三种方式 相关的一些关键词 rethrows throws try / try!/ try?
Swift Error重构优化详解, 目录 背景现状 问题分析 期望结果 技术选型 优化解决 Error模型 优化前 优化后 基类Request 优化前 优化后 模块调用 优化前 优化后 总结 背景现状 项目每积累到
Swift设计思想ResultT与ResultT, E: Error类型解析, 目录 背景知识 错误类型泛型参数 选择哪个比较好? ResultT, E: Error 优点 缺点 Result 结论 背景知识 Cocoa API 中有很多接受回调的异步方法,
switch多选择结构、循环结构示例详解, 目录 switch多选择结构 循环结构 while循环 do...while循环 每日Java面试题 switch多选择结构 多选择结构还有一个实现方式就是switch case语句 switch case语句
Combine中错误处理和Scheduler使用详解, 目录 错误处理 Never setFailureType(to:) assign(to:on:) assign(to:) assertNoFailure(_:file:line:) 处理错误 try* Operator 映射错误 捕获错误并重试 cheduler Scheduler 简介
特定用例下的Combine全面使用详解, 目录 引言 网络 URLSession Extension Codable 向多个 Subscriber 发布网络数据 调试 打印事件 执行副作用 使用 Debugger Operator Timer 使用 RunLoop 使用 Timer 类 使用
swift依赖注入和依赖注入容器详解, 目录 什么是控制反转(Inversion of Control)? 什么是依赖注入? 依赖注入的种类 初始化器注入 属性注入 方法注入 依赖注入容器 实现一个简单的依赖
仓库模式及其在Swift 项目中的应用详解, 目录 正文 不使用仓库模式时的代码 使用仓库有什么好处? 设计仓库接口 实现仓库接口 选择用哪个仓库实现 处理数据源的变更 总结 正文 在
SwiftUI开发总结combine原理简单示例详解, 目录 引言 SwiftUI是什么? 如何理解combine @propertyWrapper Publishers 与 subscribers Subject的使用 Operators的使用 总结 引言 最近在自研一个新的项目,在考
Swift中的HTTP模拟测试示例详解, 目录 正文 StarWarsAPI 类 MockLoader 正文 我们已经了解了单个方法如何为通过网络加载请求提供基础。 然而,网络也是开发应用程序时最大的失败点之一,尤
SwiftHTTP加载请求LoadingRequests教程, 目录 正文 遵循HTTPLoading协议 创建Result 用法 正文 到目前为止,我们已经看了一个简单的Request/Response的结构体和实现。接下来,我们来讨论一下发送请
Swift 中的 JSON 反序列化示例详解, 目录 业界常用的几种方案 手动解码方案,如 Unbox(DEPRECATED) 阿里开源的 HandyJSON 基于 Sourcery 的元编程方案 Swift build-in API Codable 属性装饰器,如 Bett
EvenLoop模型在iOS的RunLoop应用示例, 目录 引言 线程保活 停止Runloop 设置超时时间 直接停止 延迟加载图片 卡顿监测 CADisplayLink(FPS) 子线程Ping 实时监控 Crash防护 Matrix框架 总结 引言 Runlo
FlutteriOS开发OC混编Swift动态库和静态库问题填坑, 目录 引言 OC接入Swift 插件 静态库和 Framework 区别 新的问题: non-modular heade 不能在Framework Module中使用非Modular 的 Header 引言 Flutter 在 i
Swift超详细讲解指针, 目录 Swift指针Unsafe Pointer 对照Objective-C 例子 Swift指针Unsafe Pointer 如果不是只读,可以修改 ( 写入 ),就加一个 Mutable, 如果没有具体的类型( 通过泛型的方式 )
SwiftUI智能家居开关灯页面搭建示例, 目录 项目背景 项目搭建 背景卡片 页面标题 灯视图 开关按钮 整体布局 项目展示 本章代码 项目背景 晚上临睡前看着头顶上的卧室灯,圆圆的,点