编写丰富的 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 方法,返回真值即可。