Swift enum枚举类型使用详解

目录前言AFErrorResultOptional最后举一个enum的典型例子总结前言我一直在思考如何去讲解Swift中的枚举类型,它是如此让人熟悉,不免就让你跟着编程经验走,列举几个状态就感觉万...

2023-07-25

swift依赖注入和依赖注入容器详解

目录什么是控制反转(Inversion of Control)?什么是依赖注入?依赖注入的种类初始化器注入属性注入方法注入依赖注入容器实现一个简单的依赖注入容器总结什么是控制反转(Inversion...

2023-07-25

swift 错误处理do catch try try!使用详解

在swift中 如果我们要定义一个表示错误类型非常简单,只要遵循Error协议就可以了,我们通常用枚举或者结构体来表示错误类型,枚举可能用的多些,因为他能更直观的表达当前错误类型...

2023-07-25

Swift可选值优化示例详解

目录nil 的语义nil 在内存中的表示nil 的优化BoolStringClassEnum结语nil 的语义在 Objective-C 中,nil 表示空对象,它本质是一个指向 0x00000000 的指针。但对于非指针的值类...

2023-07-25

Swift 图表使用Foudation库中测量类型详解

目录前言定义图表的数据在图表中使用测量值设计一个包装器类型显示格式化标签前言在这篇文章中,我们将建立一个条形图,比较基督城地区自然散步的持续时间。我们将使用今年推出...

2023-07-25

特定用例下的Combine全面使用详解

目录引言网络URLSession ExtensionCodable向多个 Subscriber 发布网络数据调试打印事件执行副作用使用 Debugger OperatorTimer使用 RunLoop使用 Timer 类使用 DispatchQueu...

2023-07-25

Swift 中的 Actors 使用及如何防止数据竞争问题(示例详解)

目录前言Actors 的基本原理Actor 是引用类型,但与类相比仍然有所不同为什么会出现数据竞争如何防止数据竞争使用 async/await 访问数据防止不必要的暂停非隔离(nonisolated)...

2023-07-25

Swift Sequence Collection使用示例学习

目录一:Sequence1.1 迭代器 Iterator1.2 IteratorProtocol协议1.3 Sequence协议1.4 通过Sequence协议自定义有限的集合二:Collection2.1 环形数组2.2 MutableCollection2.3 Ra...

2023-07-25

Swift Error重构的基础示例详解

目录Error定义概述用枚举来表示简单的错误用结构体或其他类型表示复杂的错误处理Error的三种方式相关的一些关键词rethrows & throwstry / try!/ try? / deferfatalErrorError...

2023-07-25

Swift中的HTTP模拟测试示例详解

目录正文StarWarsAPI 类MockLoader正文我们已经了解了单个方法如何为通过网络加载请求提供基础。然而,网络也是开发应用程序时最大的失败点之一,尤其是在单元测试方面。 当我...

2023-07-25

Swift 中 Opaque Types学习指南

目录什么是Opaque Types如何使用为什么要使用可读性更强性能更好使用的限制总结什么是Opaque TypesOpaque Types 是在 Swift5.7 新添加的一个特性。主要是和 Protocol 来搭...

2023-07-25

Swift之运算符重载示例详解

目录引言重载双目运算符单目运算符复合赋值运算符等价运算符 ==自定义运算符自定义后置运算符自定义中置运算符引言在C++中, 运算符是可以重载的, Swift也是支持的注:=和三目...

2023-07-25

swift内存管理指针类型使用实例详解

目录为什么说指针不安全指针类型原始指针-rawPointer 的使用size/stride/alignment的理解情况一情况二泛型指针的使用为什么说指针不安全我们在创建一个对象的时候,是需要在...

2023-07-25

SwiftUI开发总结combine原理简单示例详解

目录引言SwiftUI是什么?如何理解combine@propertyWrapperPublishers 与 subscribersSubject的使用Operators的使用总结引言最近在自研一个新的项目,在考虑使用的技术栈时,调研...

2023-07-25

Swift并发系统并行运行多个任务使用详解

目录前言从异步到并发任务组结论前言Swift 内置并发系统的好处之一是它可以更轻松地并行执行多个异步任务,这反过来又可以使我们显着加快可以分解为单独部分的操作。在本文中...

2023-07-25

swiftui开发之padding默认值设置详解

目录正文padding 的默认值对某个方向设置 padding同时对多个方向设置 padding对上下左右4个方向的 padding 进行精确设置总结正文swiftui 中的 padding 用于设置视图的填充...

2023-07-25

Swift设计思想Result<T>与Result<T, E: Error>类型解析

目录背景知识错误类型泛型参数选择哪个比较好?Result<T, E: Error>优点缺点Result结论背景知识Cocoa API 中有很多接受回调的异步方法,比如 URLSession 的 dataTask(with:comp...

2023-07-25

Swift中的可选项Optional解包方式实现原理

目录为什么需要Optional什么是OptionalOptional实现原理Optional的解包方式1. 可选项绑定(Optional Binding)2. 强制解包(Forced Unwrapping)3. 隐式解包(Implicitly Unwrapped...

2023-07-25

Swift 并发修改Sendable 闭包实例详解

目录前言使用 Sendable使用泛型和枚举时的隐式一致性从线程安全的实例中抛出错误如何使用Sendable协议要在同一源文件中遵守 Sendable的限制如何使用 @SendabeleSwift 6: 为...

2023-07-25

详解Objective C 中Block如何捕获外部值

目录引言自动变量静态变量、静态全局变量与全局变量带 __block 的自动变量捕获对象__block 对象类型的捕获引言Block 本质上也是一个 Objective-C 对象,它内部也有个 isa指针...

2023-07-25

iOS开发实现搜索框(UISearchController)

最近自己在写一个APP,其中需要实现搜索框搜索功能,于是乎就想写篇博客介绍下UISearchController和搜索框的实现。我写的是一个天气预报APP,直接以我APP中的源代码来详细介绍下...

2023-07-25

Objective-C const常量的优雅使用方法

目录正文Objective-C 的常量声明方式在 Objective-C 中使用 let 来声明常量正文在编写代码时经常要使用常量,来替代 magic number。比较简单的做法是通过预处理指令 #define...

2023-07-25

iOS小技能之字典转模及对象相等性示例详解

目录前言I 字典转模型1.1 字典转模型的实现步骤1.2 字典转模型的过程II 对象的相等性 & 本体性2.1 相等性检查2.2 Foundation 框架中,自己实现的相等性检查2.3 字符串驻留III...

2023-07-25

iOS RN启动中管理Native Module详解

目录1. 全局的 native module 注册表2. RCTBridgeModule 协议 3. RCTModuleClasses中Class数据的处理4. ModuleClasse包装成RCTModuleData过程5. RCTModuleData在什么时候进...

2023-07-25

iOS两丫技术之UILabel性能不够的解决方法

目录Async ViewAsync LayerRunLoop触发事件的保存YYLabel主要参照 YYKitYYKit 博大精深,就像少林武功Async View为了异步 + runloop 空闲时绘制,因为苹果的 UILabel 性能不够...

2023-07-25

Objective-C之Category实现分类示例详解

目录引言编译时运行时引言在写 Objective-C 代码的时候,如果想给没法获得源码的类增加一些方法,Category 即分类是一种很好的方法,本文将带你了解分类是如何实现为类添加方法的...

2023-07-25

混合栈跳转导致Flutter页面事件卡死问题解决

目录问题来源问题难点问题定位问题确定问题解决总结问题来源在我们升级Flutter2.5后,测试在走整个业务流程中发现了有页面卡死现象,于是给我提了一个BUG。在xx页面多次操作后,...

2023-07-25

IOS开发Swift 与 OC相互调用详解

目录1、创建桥接文件2、Swift调用OCNS_SWIFT_NAME、NS_SWIFT_UNAVAILABLENS_REFINED_FOR_SWIFT规则3、OC调用Swift4、坑点1、创建桥接文件在创建另一种语言的文件时XCode会...

2023-07-25

ios利用RunLoop原理实现去监控卡顿实例详解

目录一、卡顿问题的几种原因二、监测卡顿的思路监测FPS:RunLoop:三、如何检查卡顿一、卡顿问题的几种原因复杂 UI 、图文混排的绘制量过大;在主线程上做网络同步请求;在主线程做...

2023-07-25

iOS实现可拖动的浮动菜单

本文实例为大家分享了iOS实现可拖动的浮动菜单的具体代码,供大家参考,具体内容如下实现一个可拖动的浮动菜单,效果如下:这个设置图标是可以全屏拖动的,点击一下,可以出现一排设置...

2023-07-25

Flutter GetPageRoute实现嵌套导航学习

目录1. 嵌套导航-GetPageRoute2. 自定义拓展3. 使用bottomNavigationBar4.小结1. 嵌套导航-GetPageRoute本文主要介绍在Getx下快速实现一个嵌套导航嵌套导航顾名思义,我们导...

2023-07-25

scrollview tableView嵌套解决方案示例

目录正文效果预览:核心代码就是在父视图、子试图的滚动判断正文在网上找了很多,没有喜欢的方案。也参考了众多设计,做了一款自认为比较简洁、完美的方案:大致思路:外层放置scroll...

2023-07-25

ios开发 try-catch引起的野指针问题排查

目录1、野指针问题2、崩溃栈3、场景复现代码4、问题分析5、上报可能引起野指针崩溃栈1、野指针问题【EXC_BAD_ACCESS (SIGSEGV) / KERN_INVALID_ADDRESS]Possible zombie in...

2023-07-25

iOS实现简易的抽屉效果

本文实例为大家分享了iOS实现简易的抽屉效果的具体代码,供大家参考,具体内容如下1.添加需要实现抽屉效果的三个视图,这里需要注意主视图需要放在最后添加// 左边视图 ...// 右...

2023-07-25

Observing KVO Key-Value基本使用原理示例详解

目录正文KVO 的基本使用注册为观察者OptionsContext接收变更通知移除观察者KVO 的触发方式自动触发手动触发注册依赖键一对一的关系KVO 实现细节正文Key-Value Observing(KV...

2023-07-25

iOS文件预览分享小技能示例

目录前言I 第三方SDK分享文件1.1 微信SDK1.2 友盟SDKII 原生API的文件预览及其他应用打开2.1 预览文件2.2 文件分享2.3 控制是否显示copy、 print、saveToCameraRollIII 案...

2023-07-25

iOS界面布局简化UIStackView使用详解

目录前言UIStackView布局思想distribution:alignment:UIStackView用法初始化添加、删除子视图排列方向布局方式对齐方式间距前言在过去iOS页面布局较为传统,大多数人使用Frame...

2023-07-25

iOS阅读器与直播的控件重叠滑动交互详解

目录场景一场景二场景三场景一进行一个阅读器项目的开发时,遇到了一个问题,需要在点击绿色区域时弹出一个菜单,因此在该区域加了一个View,然而,当在这个区域滑动时,滑动手势被绿色...

2023-07-25

iOS简单抽屉效果的实现方法

本文实例为大家分享了iOS实现简单抽屉效果的具体代码,供大家参考,具体内容如下实现思路及步骤:1、首先准备要滑动的view#warning 第一步- (void)addChildView{    // left ...

2023-07-25

Flutter列表滚动定位超强辅助库使用示例详解

目录一、痛点二、优点三、使用1、ListView2、GridView3、CustomSrollView四、说明1、ViewObserver 的选择2、isFixedHeight3、sliverContext 是否需要传五、可现实的功能1、...

2023-07-25

移动web开发技能之touch事件详解

目录概述touch事件touch事件分类touch事件对象移动web单击事件iOS单击延迟“单击穿透”问题概述单击事件是任何一个前端页面中最常用的交互行为之一,在传统的PC端...

2023-07-25

替代pod update速度慢的lg_pod_plugin安装使用详解

目录1. 安装方式2. 如何使用lg_pod_plugin3. 工作原理1. 安装方式推荐使用bundle 安装lg_pod_plugin , 免去手动安装 gem install lg_pod_plugin , 方便后续升级lg_pod_plug...

2023-07-25

iOS开发实现抽屉效果

iOS开发之如何实现“抽屉”效果,供大家参考,具体内容如下现在基本上每一个App中左划都会出现一个页面,基本上都是只占主页面的一部分,效果就像是一个抽屉一样。最近在...

2023-07-25

iOS开发KVO实现细节解密

目录导读1. 缘起 Aspects1.1 SDMagicHook 的 API 设计更加友好灵活1.2 SDMagicHook 解决了 Aspects 未能解决的 KVO 冲突难题2. 从汇编层面探索 KVO 本质3. 如何解决 custom...

2023-07-25

iOS开发之MRC(手动内存管理)详解

目录前言:内存管理的经验总结一、 MRC 手动管理内存(Manual Reference Counting)1、引用计数器2、引用计数器操作3、dealloc 方法4、野指针和空指针二、内存管理思想1、单个...

2023-07-25

iOS开发xconfig和script脚本使用详解

目录引言Xcode编译Xcode targetXcode projectXcode scheme新建configurationConfiguration文件的使用利用Configuration设置不同的项目名设置Configuration查看是否设置成功...

2023-07-25

iOS实现UIButton的拖拽功能

本文实例为大家分享了iOS实现UIButton拖拽功能的具体代码,供大家参考,具体内容如下在APP界面中,把资讯等功能设置为悬浮的Button并且能够让用户自己拖拽调整位置很常用。这里实...

2023-07-25

iOS Objective-c实现左右滑动切换页面

本文实例为大家分享了iOS Objective-c实现左右滑动切换页面的具体代码,供大家参考,具体内容如下ScrollView + n个view1.storyboard布局一个ScrollView2.拖出两个输出口,定义三...

2023-07-25

Flutter Module添加到iOS项目示例详解

目录1. 创建flutter module2. flutter 模块嵌入原生应用3. flutter模块和原生通信小结1. 创建flutter module摘要:我们实际开发开始作为混合开发,可能会把一个模块使用flutter...

2023-07-25

使用AVFoundation实现视频录制详解

目录一、前言二、AVCaptureSession + AVCaptureMovieFileOutput一、前言AVCaptureSession 是 AVFoundation 的核心类,用于管理捕获对象 AVCaptureInput 的视频和音频的输入,协...

2023-07-25
返回顶部
顶部