如何在Swift 中使用 async let 并发运行后台任务
目录前言长期运行的任务阻塞了UI使用 async/await 在后台执行任务在后台执行多个任务使用 "async let " 下载多个文件结论前言
Async/await 语法是在 Swift 5.5 引入的,在 WWDC 2021中的 Meet async/await in Swift 对齐进行了介绍。它是编写异步代码的一种更可读的方式,比调度队列和回调函数更容易理解。Async/await 语法 ...
iOS微信分享配置universal links步骤解析
目录一、配置好应用的Universal Links1、开通Associated Domains2、创建文件名"必须"为apple-app-site-association的文件4、在工程配置以 applinks: 开头5、微信开放平台配置universal links一、配置好应用的Universal Links
1、开通Associated Domains
登录苹果开发者账号进入对应的appid,开通Associated Domains
并在这 ...
iOS小组件开发之WidgetKit功能讲解
目录WidgetKitWidgetKit 主要功能自定义主题自定义组件响应式编程定时器地理位置信息事件监听器可滚动视图WidgetKit
WidgetKit 是 Swift 语言中一款用于构建桌面应用程序的库。它提供了一种简单、快速的方式来构建具有高度自定义能力的桌面应用程序。WidgetKit 的目标是使构建桌面应用程序变得更加容易,同时提供丰富 ...
iOS开发Firebase中的常用库使用及功能详解
目录iOS Firebase关于Firebase CoreFirebase Analytics功能Firebase Analytics基本功能Firebase Analytics高级功能Firebase Authentication功能Cloud Firestore功能Firebase Realtime Database功能配置Firebase项目Cloud Storage for Firebase功能Firebase Performance功能Firebase Messaging功能Firebase Crashlytics功能R ...
iOS开发APP跳转到设置或系统页面详解
目录iOS10以前在iOS10以后的系统中iOS10以前
打开设置应用: UIApplication.openSettingsURLString打开通用设置: App-Prefs:root=General打开关于本机: App-Prefs:root=General&path=About打开软件更新: App-Prefs:root=General&path=SOFTWARE_UPDATE_LINK打开网络设置: App-Prefs:root=General&path=Network打开Wi-Fi设置: ...
Swift高阶函数contains allSatisfy reversed lexicographicallyPrecedes用法示例
目录一、contains二、allSatisfy三、reversed四、lexicographicallyPrecedes一、contains
返回一个布尔值,指示序列的每个元素是否满足给定的条件。如果有一个满足即返回。
let expenses = [21.37, 55.21, 9.32, 10.18, 388.77, 11.41]
let hasBigPurchase = expenses.contains { $0 > 100 }
// 'hasBigPurc ...
Swift可选值优化示例详解
目录nil 的语义nil 在内存中的表示nil 的优化BoolStringClassEnum结语nil 的语义
在 Objective-C 中,nil 表示空对象,它本质是一个指向 0x00000000 的指针。但对于非指针的值类型,OC 中是无法表示_没有值_这个概念的,比如 NSInteger,它可以是 0,也可以是其他任何值,但就是不 ...
Swift并发系统并行运行多个任务使用详解
目录前言从异步到并发任务组结论前言
Swift 内置并发系统的好处之一是它可以更轻松地并行执行多个异步任务,这反过来又可以使我们显着加快可以分解为单独部分的操作。
在本文中,让我们看一下几种不同的方法,以及这些技术中的每一种何时特别有用。
从异步到并发
首先,假设我们正在开发某种形式的购物应用程序来显示各种产 ...
Swift之for循环的基础使用学习
目录forEachfor inenumerated迭代器遍历indicesenumerated获取了索引和值RangeforEach
let numbers=[Int](0...7)
numbers.forEach{
(num) in
if(num==3){
return
}
print(num)
}
for in
for in可以说比forEach好用太多
let numberList = [1,2,3,4,5]
var result = ""
for num in numberList {
r ...
iOS开发状态栏及设置功能全面详解
目录正文1. 设置状态栏样式(最下面有更详细的解答):2. 隐藏状态栏:3. 设置状态栏背景颜色:1. 在Info.plist文件中设置2. 在UIViewController中设置3. 在UIApplication中设置4. 有导航栏的情况正文
在iOS的应用程序中,状态栏(StatusBar)是用来展示当前设备的一些信息,例如电池电量、网络连接状态、时间等等。在开发过 ...
iOS开发存储应用程序Info.plist知识全面详解
目录iOS开发Info.plistQueried URL Schemes详解详细列举iOS开发Info.plist
在iOS开发中,Info.plist是用于存储应用程序相关信息的XML文件,其中包含许多属性来配置应用程序。以下是Info.plist中常用的属性以及它们的详细说明:
Bundle identifier(Bundle标识符):应用程序的唯一标识符,通常由两部分组成:“com.org ...
IOS开发UIPasteboard类的粘贴板全面详解
目录UIPasteboard 特点和用法1、剪切板管理类UIPasteboard详解2、剪切板管理类UIPasteboard具体使用UIPasteboard 特点和用法
UIPasteboard 是 Swift 中用于存储和检索应用程序中剪贴板中的数据的一个类。剪贴板是应用程序之间共享数据的一种机制,UIPasteboard 提供了一种简单的方式来存储和检索应用程序中的剪贴板数据。
...
Swift简单快速的动态更换app图标AppIcon方法示例
目录关键方法具体代码及UIAssets 图片设置 APPIcon名称与上面的要一致关键方法
获取到当前AppIcon的名称
// 获取到当前AppIcon的名称
let iconName = UIApplication.shared.alternateIconName
是否支持切换APPIcon图
// 是否支持切换APPIcon图
if UIApplication.shared.supportsAlternateIcons {
}
切换APPIcon图方法
...
Swift自动调整视图布局AutoLayout和AutoresizingMask功能详解
目录Swift 中 AutoLayout 和 AutoresizingMaskAutoLayoutAutoresizingMask总结Swift 中 AutoLayout 和 AutoresizingMask
Swift 中 AutoLayout 和 AutoresizingMask 用于自动调整视图的布局,以适应不同大小的设备和屏幕方向。
两种方法都可以用来处理视图的自动适应问题,但是它们的实现有所不同。
AutoLayout
AutoLayout是 ...
Swift 中的 Actors 使用及如何防止数据竞争问题(示例详解)
目录前言Actors 的基本原理Actor 是引用类型,但与类相比仍然有所不同为什么会出现数据竞争如何防止数据竞争使用 async/await 访问数据防止不必要的暂停非隔离(nonisolated)访问为什么在使用 Actors 时仍会出现数据竞争?总结前言
Actors 是 Swift 5.5 引入的一种并发编程模型,用于管理共享数据并提供数据访问的安全性。Ac ...
iOS中的3种定时器汇总介绍
目录在iOS中有3种常见的定时器,它们会根据不同的场景进行选择使用。
1.DispatchSourceTimer: 基于GCD实现。
2.CADisplayLink:基于屏幕刷新实现。
3.Timer:基于RunLoop实现。
DispatchSourceTimer定时器
DispatchSourceTimer定时器可以通过DispatchSource.makeTimerSource(queue: DispatchQueue.main)方法来创建,并且
...
MAUI模仿iOS多任务切换卡片滑动的交互实现代码
目录原理平铺分布iOS多任务卡片分布创建布局创建分布函数创建动效创建绑定数据细节调整跳转到最后一张卡片上一篇博文的评论,大家对MAUI还是比较感兴趣的,非常感谢大家的关注,这个专栏我争取周更😉。
App之间的多任务切换相信你们都很熟悉。苹果设备从iOS9开始使用水平排列的叠层卡片来展现多任务
动图来自iPhone 使用手 ...
Swift 中 Opaque Types学习指南
目录什么是Opaque Types如何使用为什么要使用可读性更强性能更好使用的限制总结什么是Opaque Types
Opaque Types 是在 Swift5.7 新添加的一个特性。主要是和 Protocol 来搭配使用,用来定义函数中的参数类型。它的作用就是隐藏参数的具体类型,从而使代码变得更加通用,减少冗余代码。废话不多说,下面来看一看它如何使用 ...
Swift中的可选项Optional解包方式实现原理
目录为什么需要Optional什么是OptionalOptional实现原理Optional的解包方式1. 可选项绑定(Optional Binding)2. 强制解包(Forced Unwrapping)3. 隐式解包(Implicitly Unwrapped Optionals)可选链(Optional Chaining)Optional 的嵌套为什么需要Optional
Swift中引入了可选项(Optional)的概念是为了解决在代码中对于 ...
Swift 中的 RegexBuilder学习指南
目录前言Regex 字面量RegexBuilder - 像写代码一样写正则RegexRepetitionBehaviorFoundation 的支持总结前言
在我们日常的项目开发中,经常会碰到和正则表达式打交道的时候。比如用户密码,通常会要求同时包含小写字母、大写字母、数字,并且长度不少于 8 位,以此来提高密码的安全性。
在 Swift 中,我们可以用正则表达式 ...