-
Flutter路由 最近在学习Flutter中有用到路由,借此回顾一下Flutter路由跳转的方式. 编写的TODO示例Demo总共有两个界面: 主界面; 编辑界面 1.编写路由地址信息 abstract final class AppRoutes { static const homeRoute
-
背景 easy_refresh已经有一段时间没有更新了,不知道这个问题跟flutter版本有没有关系。 问题点 下拉刷新松开之后,刷新完成,会导致大片头部区域空白,一直不消失。 问题原因 当手势松开之后flutter-sdk里面会调用ScrollPositionwithsinglecontext.g
-
大家好,我是老刘 老刘做Flutter开发有7年了差不多。 我记得早先的时候还经常有人讨论为啥Flutter没有选择kotlin而是选了dart。 当时我罗列和很多原因,同时也说过我个人其实是很喜欢Kotlin的。 想当年,Kotlin 就是拯救我们脱离Ja va 苦海的。 优雅的 Lambda 表
-
之前写过一篇Android 自定义 View 实战:打造一个跟随滑动的丝滑指示器,今天使用 Flutter 来实现一个相同的效果。 本文将实现一个根据列表滚动动态偏移的自定义指示器。 1. 核心原理 实现这个效果的关键在于:监听滚动事件,并计算滚动比例。 监听滚动:使用 NotificationLi
-
准备好了吗?我们要把你习以为常的代码撕碎,看看它的内脏长什么样。 第一章:拆解 —— 编译器的“剪刀” 作为 Dart 开发者,我们每天都在写 async 和 await。它们就像空气一样自然,以至于我们常常忘记了它们的存在。 看下面这段代码,它优雅、线性,符合人类的直觉: Future makeC
-
Flutter 性能底层(一):内存世界的版图 —— Dart 分代模型 引言:透过现象看本质 作为 Flutter 开发者,我们每天都在与 Widget 打交道。无论是简单的 Text 还是复杂的 CustomPaint,我们习惯了通过不断地 new 对象来构建界面。 但在这些代码背后,你是否曾有
-
第一章:告别“剥洋葱”式的防御性编程 在 Dart 3 之前,处理未知数据(比如 dynamic、父类对象、或者 JSON Map)就像是在剥洋葱。我们需要一层一层地检查类型、检查长度、检查 Key 是否存在,最后小心翼翼地把数据取出来。 这种代码通常被称为**“防御性代码”**。它的特点是:真正干
-
大家对Dart中的 ?? 运算符感兴趣吗?它可是Dart里处理 **可选值(可空类型)** 的常用运算符,主要作用就是「空值合并」。接下来,我们就从基础用法、核心特点、拓展用法,再到实际场景,一步步为大家讲得明明白白,让大家快速掌握。 一、先明确 ?? 运算符的核心定义 ?? 被称为 「空值合并运算
-
第一章:被 switch-case 坑过的“未知状态” 如果说 Records 解决的是“数据怎么传”的问题,那么 Sealed Classes 解决的就是**“逻辑怎么写”**的问题。 在 App 开发(尤其是 Flutter 开发)中,我们每天都在处理各种“状态”: 网络请求:Loading,
-
第一章:没有 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