Swift中的高阶函数功能作用示例详解
目录高阶函数的作用1. 简化代码2. 提高可读性3. 支持函数式编程4. 提高代码的可重用性常见的高阶函数1. map()2. filter()3. reduce()4. sorted()5. forEach()6. compactMap...
目录高阶函数的作用1. 简化代码2. 提高可读性3. 支持函数式编程4. 提高代码的可重用性常见的高阶函数1. map()2. filter()3. reduce()4. sorted()5. forEach()6. compactMap...
目录一、contains二、allSatisfy三、reversed四、lexicographicallyPrecedes一、contains返回一个布尔值,指示序列的每个元素是否满足给定的条件。如果有一个满足即返回。...
目录前言AFErrorResultOptional最后举一个enum的典型例子总结前言我一直在思考如何去讲解Swift中的枚举类型,它是如此让人熟悉,不免就让你跟着编程经验走,列举几个状态就感觉万...
目录什么是控制反转(Inversion of Control)?什么是依赖注入?依赖注入的种类初始化器注入属性注入方法注入依赖注入容器实现一个简单的依赖注入容器总结什么是控制反转(Inversion...
在swift中 如果我们要定义一个表示错误类型非常简单,只要遵循Error协议就可以了,我们通常用枚举或者结构体来表示错误类型,枚举可能用的多些,因为他能更直观的表达当前错误类型...
目录nil 的语义nil 在内存中的表示nil 的优化BoolStringClassEnum结语nil 的语义在 Objective-C 中,nil 表示空对象,它本质是一个指向 0x00000000 的指针。但对于非指针的值类...
目录前言定义图表的数据在图表中使用测量值设计一个包装器类型显示格式化标签前言在这篇文章中,我们将建立一个条形图,比较基督城地区自然散步的持续时间。我们将使用今年推出...
目录引言网络URLSession ExtensionCodable向多个 Subscriber 发布网络数据调试打印事件执行副作用使用 Debugger OperatorTimer使用 RunLoop使用 Timer 类使用 DispatchQueu...
目录前言Actors 的基本原理Actor 是引用类型,但与类相比仍然有所不同为什么会出现数据竞争如何防止数据竞争使用 async/await 访问数据防止不必要的暂停非隔离(nonisolated)...
目录一:Sequence1.1 迭代器 Iterator1.2 IteratorProtocol协议1.3 Sequence协议1.4 通过Sequence协议自定义有限的集合二:Collection2.1 环形数组2.2 MutableCollection2.3 Ra...
目录Error定义概述用枚举来表示简单的错误用结构体或其他类型表示复杂的错误处理Error的三种方式相关的一些关键词rethrows & throwstry / try!/ try? / deferfatalErrorError...
目录正文StarWarsAPI 类MockLoader正文我们已经了解了单个方法如何为通过网络加载请求提供基础。然而,网络也是开发应用程序时最大的失败点之一,尤其是在单元测试方面。 当我...
目录什么是Opaque Types如何使用为什么要使用可读性更强性能更好使用的限制总结什么是Opaque TypesOpaque Types 是在 Swift5.7 新添加的一个特性。主要是和 Protocol 来搭...
目录引言重载双目运算符单目运算符复合赋值运算符等价运算符 ==自定义运算符自定义后置运算符自定义中置运算符引言在C++中, 运算符是可以重载的, Swift也是支持的注:=和三目...
目录为什么说指针不安全指针类型原始指针-rawPointer 的使用size/stride/alignment的理解情况一情况二泛型指针的使用为什么说指针不安全我们在创建一个对象的时候,是需要在...
目录引言SwiftUI是什么?如何理解combine@propertyWrapperPublishers 与 subscribersSubject的使用Operators的使用总结引言最近在自研一个新的项目,在考虑使用的技术栈时,调研...
目录前言从异步到并发任务组结论前言Swift 内置并发系统的好处之一是它可以更轻松地并行执行多个异步任务,这反过来又可以使我们显着加快可以分解为单独部分的操作。在本文中...
目录正文padding 的默认值对某个方向设置 padding同时对多个方向设置 padding对上下左右4个方向的 padding 进行精确设置总结正文swiftui 中的 padding 用于设置视图的填充...
目录背景知识错误类型泛型参数选择哪个比较好?Result<T, E: Error>优点缺点Result结论背景知识Cocoa API 中有很多接受回调的异步方法,比如 URLSession 的 dataTask(with:comp...
目录为什么需要Optional什么是OptionalOptional实现原理Optional的解包方式1. 可选项绑定(Optional Binding)2. 强制解包(Forced Unwrapping)3. 隐式解包(Implicitly Unwrapped...
目录前言使用 Sendable使用泛型和枚举时的隐式一致性从线程安全的实例中抛出错误如何使用Sendable协议要在同一源文件中遵守 Sendable的限制如何使用 @SendabeleSwift 6: 为...
目录引言自动变量静态变量、静态全局变量与全局变量带 __block 的自动变量捕获对象__block 对象类型的捕获引言Block 本质上也是一个 Objective-C 对象,它内部也有个 isa指针...
最近自己在写一个APP,其中需要实现搜索框搜索功能,于是乎就想写篇博客介绍下UISearchController和搜索框的实现。我写的是一个天气预报APP,直接以我APP中的源代码来详细介绍下...
目录正文Objective-C 的常量声明方式在 Objective-C 中使用 let 来声明常量正文在编写代码时经常要使用常量,来替代 magic number。比较简单的做法是通过预处理指令 #define...
目录前言I 字典转模型1.1 字典转模型的实现步骤1.2 字典转模型的过程II 对象的相等性 & 本体性2.1 相等性检查2.2 Foundation 框架中,自己实现的相等性检查2.3 字符串驻留III...
目录1. 全局的 native module 注册表2. RCTBridgeModule 协议 3. RCTModuleClasses中Class数据的处理4. ModuleClasse包装成RCTModuleData过程5. RCTModuleData在什么时候进...
目录Async ViewAsync LayerRunLoop触发事件的保存YYLabel主要参照 YYKitYYKit 博大精深,就像少林武功Async View为了异步 + runloop 空闲时绘制,因为苹果的 UILabel 性能不够...
目录引言编译时运行时引言在写 Objective-C 代码的时候,如果想给没法获得源码的类增加一些方法,Category 即分类是一种很好的方法,本文将带你了解分类是如何实现为类添加方法的...
目录问题来源问题难点问题定位问题确定问题解决总结问题来源在我们升级Flutter2.5后,测试在走整个业务流程中发现了有页面卡死现象,于是给我提了一个BUG。在xx页面多次操作后,...
目录1、创建桥接文件2、Swift调用OCNS_SWIFT_NAME、NS_SWIFT_UNAVAILABLENS_REFINED_FOR_SWIFT规则3、OC调用Swift4、坑点1、创建桥接文件在创建另一种语言的文件时XCode会...
目录一、卡顿问题的几种原因二、监测卡顿的思路监测FPS:RunLoop:三、如何检查卡顿一、卡顿问题的几种原因复杂 UI 、图文混排的绘制量过大;在主线程上做网络同步请求;在主线程做...
本文实例为大家分享了iOS实现可拖动的浮动菜单的具体代码,供大家参考,具体内容如下实现一个可拖动的浮动菜单,效果如下:这个设置图标是可以全屏拖动的,点击一下,可以出现一排设置...
目录1. 嵌套导航-GetPageRoute2. 自定义拓展3. 使用bottomNavigationBar4.小结1. 嵌套导航-GetPageRoute本文主要介绍在Getx下快速实现一个嵌套导航嵌套导航顾名思义,我们导...
目录正文效果预览:核心代码就是在父视图、子试图的滚动判断正文在网上找了很多,没有喜欢的方案。也参考了众多设计,做了一款自认为比较简洁、完美的方案:大致思路:外层放置scroll...
目录1、野指针问题2、崩溃栈3、场景复现代码4、问题分析5、上报可能引起野指针崩溃栈1、野指针问题【EXC_BAD_ACCESS (SIGSEGV) / KERN_INVALID_ADDRESS]Possible zombie in...
本文实例为大家分享了iOS实现简易的抽屉效果的具体代码,供大家参考,具体内容如下1.添加需要实现抽屉效果的三个视图,这里需要注意主视图需要放在最后添加// 左边视图 ...// 右...
目录正文KVO 的基本使用注册为观察者OptionsContext接收变更通知移除观察者KVO 的触发方式自动触发手动触发注册依赖键一对一的关系KVO 实现细节正文Key-Value Observing(KV...
目录前言I 第三方SDK分享文件1.1 微信SDK1.2 友盟SDKII 原生API的文件预览及其他应用打开2.1 预览文件2.2 文件分享2.3 控制是否显示copy、 print、saveToCameraRollIII 案...
目录前言UIStackView布局思想distribution:alignment:UIStackView用法初始化添加、删除子视图排列方向布局方式对齐方式间距前言在过去iOS页面布局较为传统,大多数人使用Frame...
目录场景一场景二场景三场景一进行一个阅读器项目的开发时,遇到了一个问题,需要在点击绿色区域时弹出一个菜单,因此在该区域加了一个View,然而,当在这个区域滑动时,滑动手势被绿色...
本文实例为大家分享了iOS实现简单抽屉效果的具体代码,供大家参考,具体内容如下实现思路及步骤:1、首先准备要滑动的view#warning 第一步- (void)addChildView{ // left ...
目录一、痛点二、优点三、使用1、ListView2、GridView3、CustomSrollView四、说明1、ViewObserver 的选择2、isFixedHeight3、sliverContext 是否需要传五、可现实的功能1、...
目录概述touch事件touch事件分类touch事件对象移动web单击事件iOS单击延迟“单击穿透”问题概述单击事件是任何一个前端页面中最常用的交互行为之一,在传统的PC端...
目录1. 安装方式2. 如何使用lg_pod_plugin3. 工作原理1. 安装方式推荐使用bundle 安装lg_pod_plugin , 免去手动安装 gem install lg_pod_plugin , 方便后续升级lg_pod_plug...
iOS开发之如何实现“抽屉”效果,供大家参考,具体内容如下现在基本上每一个App中左划都会出现一个页面,基本上都是只占主页面的一部分,效果就像是一个抽屉一样。最近在...
目录导读1. 缘起 Aspects1.1 SDMagicHook 的 API 设计更加友好灵活1.2 SDMagicHook 解决了 Aspects 未能解决的 KVO 冲突难题2. 从汇编层面探索 KVO 本质3. 如何解决 custom...
目录前言:内存管理的经验总结一、 MRC 手动管理内存(Manual Reference Counting)1、引用计数器2、引用计数器操作3、dealloc 方法4、野指针和空指针二、内存管理思想1、单个...
目录引言Xcode编译Xcode targetXcode projectXcode scheme新建configurationConfiguration文件的使用利用Configuration设置不同的项目名设置Configuration查看是否设置成功...
本文实例为大家分享了iOS实现UIButton拖拽功能的具体代码,供大家参考,具体内容如下在APP界面中,把资讯等功能设置为悬浮的Button并且能够让用户自己拖拽调整位置很常用。这里实...
本文实例为大家分享了iOS Objective-c实现左右滑动切换页面的具体代码,供大家参考,具体内容如下ScrollView + n个view1.storyboard布局一个ScrollView2.拖出两个输出口,定义三...