首页
学习
活动
专区
工具
TVP
发布

韦弦的偶尔分享

最近自己没啥产出,所以主要翻译一些大神的博文,自己学习的同时,希望对您也有用。
专栏作者
195
文章
338532
阅读量
37
订阅数
如何在 Swift 中取消一个后台任务
Swift 5.5中引入的 async/await 语法,允许用更可读的方式来编写异步代码。异步编程可以提高应用程序的性能,但必须取消不需要的任务,以确保不需要的后台任务不会干扰到应用程序。本文演示了如何明确地取消一个任务,并展示了子任务是如何自动取消的。
韦弦zhy
2023-03-12
2.7K0
在 SwiftUI 中创建一个环形 Slider
Slider 控件是一种允许用户从一系列值中选择一个值的 UI 控件。在 SwiftUI 中,它通常呈现为直线上的拇指选择器。有时将这种类型的选择器呈现为一个圆圈,拇指绕着圆周移动可能会更好。本文介绍如何在 SwiftUI 中定义一个环形的 Slider。
韦弦zhy
2023-01-06
3.5K0
Swift 中的 AsyncThrowingStream 和 AsyncStream
AsyncThrowingStream 和 AsyncStream是Swift 5.5中由SE-314引入的并发框架的一部分。异步流允许你替换基于闭包或 Combine 发布器的现有代码。
韦弦zhy
2022-11-14
1.2K0
Swift 中的 MainActor 使用和主线程调度
MainActor 是Swift 5.5中引入的一个新属性,它是一个全局 actor,提供一个在主线程上执行任务的执行器。在构建应用程序时,在主线程上执行UI更新任务是很重要的,在使用几个后台线程时,这有时会很有挑战性。使用@MainActor属性将帮助你确保你的UI总是在主线程上更新。
韦弦zhy
2022-11-14
2.6K0
Swift 中的 async/await
async-await 是在 WWDC 2021 期间的 Swift 5.5 中的结构化并发变化的一部分。Swift中的并发性意味着允许多段代码同时运行。这是一个非常简化的描述,但它应该让你知道 Swift 中的并发性对你的应用程序的性能是多么重要。有了新的 async 方法和 await 语句,我们可以定义方法来进行异步工作。
韦弦zhy
2022-11-11
3.3K0
Swift 中的 async let
Async let 是Swift并发框架的一部分,允许异步实例化一个常量。并发框架引入了async-await的概念,这使得异步方法的并发性结构化,代码更易读
韦弦zhy
2022-11-11
2.2K0
Swift 中的 Task
Swift 中的 Task 是 WWDC 2021 引入的并发框架的一部分。任务允许我们从非并发方法创建并发环境,使用 async/await 调用方法。
韦弦zhy
2022-11-11
3K0
在Swift中使用工厂进行依赖注入
当涉及到使代码更加可测试时,依赖注入是一个重要工具。与其让对象创建自己的依赖关系或作为单例访问它们,不如让对象在工作中需要的一切都从外部传入。这使我们更容易看到一个给定的对象有哪些确切的依赖关系,同时也使测试变得更加简单——因为可以模拟依赖项以捕获和验证状态和值。
韦弦zhy
2022-03-30
7790
避免在Swift中使用单例
"我知道单例是不好的,但是......",这是开发人员在讨论代码时经常说的话。社区里似乎有一个共识,那就是单例是 "不好的",但同时苹果和第三方的Swift开发者都在应用内部和共享框架中不断使用它们。
韦弦zhy
2022-03-30
4450
Swift 数组去重
没有什么大问题,但是数据稍微多一点耗时就增加,如果直接在主线程的话还会造成卡顿,时间复杂度O(n^2),不太建议使用
韦弦zhy
2022-03-03
1.6K0
JSONEncoder 基础类型编码失败的解决方法
JSONEncoder 在 Swift 中还是非常常用的,最近项目中有需要将APP数据转换为JSON格式之后,再发送给服务器的需求,测试过程中,然后报了如下错误:
韦弦zhy
2021-11-24
7490
iOS 获取 IP 地址方法iOS 获取 IP 地址方法
一直以来我们获取IP地址方法都是直接百度一查,或者老代码里就已经存在这部分代码然后直接使用。今天归纳一下常见的两种方法以及如何选择:
韦弦zhy
2021-11-24
7.1K0
Swift Codable 记录解析路径
在我们的工作中,各种特殊情况都有可能遇到,某些特定情况下,需要我们记录模型的解析路径,例如:
韦弦zhy
2021-11-24
7770
Swift Codable 将任意类型解析为想要的类型
默认情况下,使用 Swift 内置的 Codable API 解析 JSON 时,我们的属性类型需要和Json 中的类型保持一致,否则就会解析失败。
韦弦zhy
2021-11-24
1.8K0
Swift 泛型之条件性符合协议
Swift 泛型条件性符合(Conditional conformances) 表示泛型类型只有在其类型参数满足某些要求时才符合特定协议的概念。
韦弦zhy
2021-04-08
1.4K0
Codable 解析 JSON 忽略无效的元素
默认情况下,使用 Swift 内置的 Codable API 编码或解码数组只有全部成功或者全部失败两种情况。可以成功处理所有元素,或者引发错误,这可以说是一个很好的默认设置,因为它可以确保高水平的数据一致性。
韦弦zhy
2021-04-07
3.1K0
No visible @interface for '***' declares the selector '***'
今天写代码遇到一个如下编译错误: No visible @interface for 'IVDevMgr' declares the selector 'setTimeZoneWithTimeZone:to:responseHandler:'
韦弦zhy
2020-12-09
2.1K0
在 Xcode 中添加 Swift package 依赖
到目前为止,我们一直在编码的所有内容都是我们从头开始构建的内容,因此您可以确切地了解其工作原理并将这些技能应用于自己的项目。但是,有时候,从头开始写东西是有风险的:也许代码很复杂,也许很容易出错,也许它经常更改,或者其他各种原因,这就是模块依赖存在的原因——能够获取第三方代码并在我们的项目中使用它。
韦弦zhy
2020-09-18
6.1K0
了解 Swift 的 Result 类型
通常希望函数成功返回一些数据,或者如果失败则返回错误。我们通常使用throwing函数对此建模,因为如果函数调用成功,我们将获得数据,但是如果抛出错误,则将运行catch代码块,因此我们可以独立处理这两个函数。但是,如果函数调用没有立即返回怎么办?
韦弦zhy
2020-09-14
2.5K0
Swift: 有用的标准库全局函数
全局函数 Global functions :无需特定类型范围就可以从任何地方访问的函数是一个古老的概念,在 C 和 Objective-C 等语言中很流行,但是在 Swift 中不建议使用,因为我们希望对它们进行很好的类型化和范围划分("swifty")。
韦弦zhy
2020-05-18
2.6K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档