-
第一章:没有 Records 的日子,我们经历了什么? 作为一名 Dart/Flutter 开发者,你一定经历过这样的“至暗时刻”: 你编写了一个简易的工具函数,比如解析经纬度,或者从API响应中提取数据。你的逻辑清晰明了,代码也仅有寥寥数行。然而,当你写到return语句时,却陷入了困境。 “我有
-
从整体上看,Swfit生成的指令数量要多于OC。所以,在这里为大家梳理了一些Tips,在编码的时候多留意一下,或许就能减少一点点指令数量。虽然这可能只是微不足道的“蚊子腿”,但总归也是肉嘛。 避免 Swift 去重写 OC 的构造函数 会新增 objc_msgSendSuper2 调用父类函数指令;
-
引言 大家好,我是一牛,今天我为大家介绍一个概念 - 隐式打开存在类型。在介绍它之前,我们先来回顾一下存在类型。 存在类型也就是装箱类型,在Swift中使用any关键字修饰,它存储的值的具体类型是未知的,这个具体类型可能会在运行时变化。 隐式打开存在类型 考察以下代码 protocol P { as
-
引言 当今,音频转录技术迅猛发展,可大家有没有发现一个常见问题?那就是在嘈杂环境下,转录系统老是把非人声错认乘人声,进而致使转录结果出错。打个比方,在whisper模式中,系统可能就会错误地转录出“谢谢大家”。接下来,本文将深入探讨如何借助声音活动检测(VAD)技术来解决这一问题,并且详细剖析在实施
-
前言 大家好,我是一牛。今天要和诸位聊聊Swift引入的新特性——不可复制类型~Copyable 。在Swift中,值类型(结构体、枚举)是可复制的,也就是说可以创建多个相同副本。但有时候,我们需要对某种资源实现独占,无论是结构体还是枚举类型,都不太合适。类虽能表示唯一资源,但其引用可被复制,所以类
-
最近在做一个新项目,需要使用 Sign in with Apple。由于这是是一个纯 SwiftUI 项目,因此我们首先考虑使用的是 Apple 官方的 SignInWithAppleButton 组件。 相较于传统的 Sign in with Apple API,SignInWithAppleBu
-
1. 前言 在货拉拉用户端适配灵动岛的开发进程中,SwiftUI编写界面的便捷性给我们留下了深刻的印象。声明式UI大大减少了初始化代码量,更简便灵活的Flex布局也让界面设计更加高效,而所有iOS开发者都梦寐以求的Hot Reload功能,更是能显著提升编码体验与效率。基于这些优势,我们对Swift
-
这里每天分享一个 iOS 的新知识,快来关注我吧 前言 大家在使用iOS系统的分享面板时,有没有发现其中既有系统自带的App,也有微信、微博等第三方App呢?今天就来给大家讲讲,如何把你的App所支持的分享扩展集成到系统分享面板中。 分步操作 第一步:向项目添加 Share 扩展目标 点击 Xcod
-
问题 我的项目是使用swift开发的,并且项目不支持横屏,但是某些页面必须要横屏,在iOS16以下我使用 UIDevice.current.setValue(isLandscape ? UIInterfaceOrientation.landscapeRight.rawValue : UIInterf
-
裁剪视频Size 使用 A VFoundation如何裁剪视频大小,比如 原视频为 width: 920, height: 1680 我想裁剪为 width: 920, height: 1680 * 0.6 但是是从 1680 * 0.1开始裁剪 利用 A VFoundation 来裁剪视频大小,这
-
引言 在iOS开发领域,Objective - C语言凭借众多强大特性,助力开发者高效构建应用程序。其中,Category(类别,亦称分类)这一特性,极为实用且灵活。它能让开发者在不改动原有类代码的前提下,为既有类增添新方法,极大地提升了代码的可维护性与扩展性。接下来,本文将深度剖析iOS Cate
-
iPadOS的问世以及iOS对多任务处理需求的不断攀升,促使Apple在iOS 13中引入了UIScene这一全新概念,它对应用生命周期和窗口管理模式进行了彻底的变革。接下来,本文将深入剖析UIScene的概念、运行机制以及实际应用场景。 1. UIScene 概述 UIScene 代表的是一个用户
-
前言 最近在研究Flutter plugin,发现iOS端已经默认采用SPM了。然而,目前SPM的应用还比较有限,而我所获取的Framework又是纯本地的,无需发布到远程仓库,但却始终无法正确添加。其实这本身并非难题,只是我对SPM还不太熟悉罢了。 如果有误,望指正。 .framework转成.x
-
深入理解代替单纯记忆 Currying和Partial application都是函数式编程范式中的概念 尽管如此,在一些高级语言中(如Swift、Scala),在语法层面或者可以通过一些技术手段实现这些概念 本文将从概念和使用场景方面介绍这两个名词 概念 Currying则翻译为柯里化 ;Part
-
一、访问和操作数组 1. 在末尾添加 可变性要求:数组必须是变量(用var定义),常量数组不可修改 append方法: append(:):在数组末尾添加单个元素 append(contentsOf:):在末尾添加多个元素(接受序列) 示例: numbers.append(100):在[2,3,4,