编写丰富的 Playgrounds
创建自己的 Playgrounds 文件,教授如何使用 Swift 编程语言来编写代码,或分享 package 文档等。
创建自己的 Playgrounds 文件,教授如何使用 Swift 编程语言来编写代码,或分享 package 文档等。
按照传统,学习 Swift 这门新的编程语言要做的第一件事就是输出 "Hello, world!",而这只要一行代码。
Swift 5.5 支持在计算属性的 getter
中抛出异常
思路比较简单,当设置图片时,通过计算高宽比,重置相应的 NSLayoutConstraint
来实现,而重置是在高宽比的 didSet
中完成的。
JSONDecoder
支持策略设置用以兼容 web API 的 JSON 格式:
当设置了 swipe actions 后,如果需要开启选中行的操作时
使用 iCloud 同步的 Core Data 会在本地创建一个数据库副本,可以存储在 App Group 中,方便本地共享,例如在宿主引用与扩展之间,或者同开发者账号下的应用之间。
在 iOS 应用中,使用 CloudKit 存储数据十分方便。当开发者需要存储一些用户文档时,例如照片、文本文件,或自定义的文档类型,可以使用 iCloud Drive 作为文件存储系统。相对于存储在应用的 Documents
目录,iCloud Drive 具有自动同步功能。当使用 iCloud Drive 构建 Document-Based 的应用,需要应用支持 CloudKit 并设置 Info.plist
指定存储位置等;使用 bookmark
获取文件真实路径,通过 NSMetadataItem
查询文件;构建自己的 UIDcoument
之类实现读写操作等。
iOS 14 很多原生控件的样式和功能都做了更新,带来了更好的体验,如新的 UIPageControl
特性支持不限数量、自定义背景等,新增的 UIColorPickerViewController
和 PHPickerViewController
,以及更新后的 UIDatePicker
和 menu 等。
SwiftUI 中仅支持基本的 if condition
显示内容,但不支持 if let
或 case
。
新的 UIDatePicker 可以作为 inline
的输入控件直接使用,为了向下兼容,可以在 iOS 低版本时提供一个 UITextField
作为默认的输入控件,或 UILabel
仅用来显示。
Text("Shadow").shadow(color: Color.gray, radius: 3, x: 15, y: 20)
当使用 UIButton
做为 customView
创建 UIBarButtonItem
时,调用 setTitle(_, for:)
方法更新按钮文字,会出现截断或显示不全的问题,此时可设置 translatesAutoresizingMaskIntoConstraints = false
即可解决。
首先需要子类化 UITableViewDiffableDataSource
,然后在子类中重写 tableView(_, canEditRowAt) -> Bool
方法,返回真值即可。