首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Swift花园
猫克杯
创建于2021-06-18
订阅专栏
分享 Swift 和 SwiftUI 相关的一些知识和心得
等 100 人订阅
共116篇文章
创建于2021-06-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
[SwiftUI 知识碎片] 在 SwiftUI 中使用 Touch ID 和 Face ID
绝大部分 Apple 的设备都有生物识别认证的手段,包括用指纹和面部识别来解锁。这个功能也对开发者开放,也就是说,我们可以利用它来确保敏感数据只能被合法的用户读取。 这又是另一个 Objective-C 的 API,但和 SwiftUI 一起使用它只是令人稍感不快,相比目前为止…
赋值联动
程序员朋友有没有过这样一种编程经验:当一个变量被重新赋值时,和它相关联的另外几个变量也需要跟着更新?我们不妨称这个变量为原生变量,称相关联的变量为这个原生变量的依赖变量。 假定在原生变量被更新的时候,其依赖变量的更新在逻辑上是必要的,你会不会考虑将这个必然的联动操作封装起来呢?…
[SwiftUI 100天] Bucket List - part2
条件视图在我们需要展示不同状态的时候非常有用,如果我们计划有序,保持代码规模足够小,可以确保代码清爽整洁。但是状态多了怎么办呢?保持视图代码的简短,训练自己设计 SwiftUI 应用架构的能力。 解决方案分两部分,第一部分是为各种视图状态定义枚举。举个例子,你可以利用一个嵌套的…
[SwiftUI 100天] Bucket List - part1
在这个工程中我们将构建一个可以让用户基于地图建立他们想去的地方的愿望清单的 app 。想去的地方包含地点描述,附近有趣的地方,还可以存储起来之后访问。 为了搞定这个 app ,你需要用到之前学到的技能,包括 form ,sheets ,Codable 和 URLSession,…
[SwiftUI 知识碎片] 在 SwiftUI 中使用 MapKit
从 2007 年的第一个代 iPhone 开始,地图就是一个核心的特性,其支撑的 framework 也从那个开始就对开发者开放。这个框架被称为 MapKit。正如我们可以在 SwiftUI 中使用 UIKit ,我们同样可以在 SwiftUI 中使用 MapKit ,只要我们…
[SwiftUI 知识碎片] 处理字符串
在接下来这个 app 中,我们将从 app bundle 中加载一个文件,它包含 10,000 个 8 字母的单词,其中的任何一个都可以用以开始游戏。每行存储一个单词,所以我们要做的是将整个文件里的字符串切分成一个字符串的数组,以便我们可以从中随机选择。 Swift 提供了一个…
[SwiftUI 知识碎片] 从 app bundle 中加载资源
当我们使用 Image 视图时,SwiftUI 知道从你的 app 的 asset catalog 里寻找图片,甚至它能够自动加载适配当前屏幕参数的版本 —— 即 @2x 和 @3x 。 对于其他数据,例如文本文件,我们需要多做一些工作,对于特别的数据格式 XML 或者 JSO…
[SwiftUI 知识碎片] 介绍 List - 你的小伙伴
在众多的 SwiftUI 视图中,List 是最值得你倚赖的类型之一。这并不是说你用它们的频率最高 —— 我确定 Text 或者 VStack 会在使用频次这一项夺冠 —— 而是因为它就像一匹负重的老马 —— 你需要时不时到回到它这里借助它的力气。这也不新鲜了,List 在 U…
[SwiftUI 知识碎片] 结构体和类,ForEach,绑定
Swift 里有两样东西对你来说一定不陌生:结构体和类。它们都是可以让我们构建拥有属性和方法的复杂数据类型的方法,但它们的工作方式,尤其是两者间的差异,是一个 (Swift 语言设计中) 很要紧的存在。 类没有逐一成员构造函数;结构体默认获得逐一构造成函数。 类可以使用继承来构…
[一文就Go了] Dart vs Kotlin vs Swift 语法比较
现代原生移动应用主要由 Swift (iOS) 或者 Kotlin (Android) 编程语言开发。另外有两种主要的跨平台应用开发框架 —— React Native (JavaScript) 和 Flutter,后者以 Dart 作为编程语言。React Native 有自…
[SwiftUI 100天] BetterRest · part2
SwiftUI 提供给我们一个专用的 picker 类型,叫做 DatePicker ,它可以绑定到 date 属性。是的,Swift 对于日期处理有专门的类型,它叫Date。 运行代码,在模拟器看效果,你会看到一个日期和时间的滚轮,左边是 “Please enter a da…
[SwiftUI 100天] BetterRest · part1
这个 SwiftUI 工程是又一个基于表单的 app ,它让用户输入信息,然后转换成警告。听起来很无趣 —— 之前不是已经做过了,对吧? 练习总归没有坏处。不过,我们之所以采用这么简单的工程是因为我想向你介绍 iOS 开发中一项非常强大的特性:机器学习 (ML)。 所有 iPh…
[SwiftUI 知识碎片] Debris-16 自定义容器
尽管不会很常用,我想向你展示,在 SwiftUI app 中创建自定义视图是完全可行的。这需要用到更高级的 Swift 知识,因为它利用了Swift 的一些强大的特性。 小试牛刀,我们将创建一个新的 stack 类型,它叫 GridStack,可以让我们以网格的形式创建任意多的…
[SwiftUI 知识碎片] Debris-15 自定义 modifier
SwiftUI 提供了一些内建的 modifiers ,比如font(),background(),和clipShape()。不过,我们也可以创建自定义 modifier 来做一些特别的事情。 使用自定义 modifier 的时候,基于 View 创建扩展是个好主意。例如,我们…
[SwiftUI 知识碎片] 视图作为属性
在 SwiftUI 中,有许多方法可以让复杂的视图体系更易用,其中一种选择是使用属性 —— 将视图以属性的方式创建,然后在布局中使用这个属性。 以属性的方式创建视图有助于保持body 的代码更整洁 —— 它不仅避免了重复,还能支撑更复杂的代码。 Swift 不允许我们创建引用其…
[SwiftUI 知识碎片] Debris-14 视图构成
举个例子,下面这个视图中,我们用一种特别的方法样式化文本视图 —— 它们有大字号,一些 padding ,前景色和背景色,以及胶囊的形状。 当然,我们也可以在属性中存储一些 modifier ,然后在使用时再自定义。举个例子,如果我们把 foregroundColor 从 Ca…
[SwiftUI 知识碎片] Debris-13 环境 Modifier
许多 modifier 不仅可以应用在各种视图上,也能应在容器上。 举个例子,如果我们在一个 VStack 里有四个文本视图,并且希望给他们设置相同的字号 modifier , 我们可以把 modifier 直接应用在 VStack 上,而不用分别应用在四个文本视图上。 这种 …