Algorithm
https://leetcode.com/submissions/detail/411064413/
1 | class Solution172 { |
Review
文中介绍了swift语言的特点,以及对一些开发者不使用swift的理由做出了自己的看法。
然后介绍了苹果为什么要开发swiftUI(跨平台和实时预览)。
最后探讨了swiftUI的优缺点并对其做了总结(实时预览、代码量少、布局方便;但是仍是beta版、有bug、花括号层级太多)。
文中推荐了几个swiftUI教程,记录一下:Paul Hudson of Hacking with Swift with his Learn SwiftUI tutorials, Mohammad Azam’s great YouTube series, 和 Meng To’s SwiftUI course at Design+Code.
Tips
A new way to manage the back button title in iOS 14 with backButtonDisplayMode
在iOS14中,长按navigation bar的返回按钮,会调出一个stack,展示历史navigation controller。
返回按钮的title的值会先选择backBarButtonItem.title
的值,若没设置则会选择 navigationItem.backButtonTitle
的值,若没有则会使用navigationItem.title
或者viewController.title
.
在iOS14中可使用BackButtonDisplayMode
设置返回按钮。他有三种模式:
- default:history stack中的title显示的是返回按钮的title
- generic:返回按钮的title是“back”,history stack中的是
title
,navigationItem.title
, 或者navigationItem.backButtonTitle
。但是不会影响backBarButtonItem.title
的设置。 - minimal:返回按钮不现实title,只展示”<”。history stack中和geneic一样
Share
What is @escaping in Swift closures
@escaping原理:在其他位置创建一个变量保存该闭包,使得该闭包在函数结束后仍能访问到。
需要使用@escaping的情况:1. 闭包作为函数参数,当函数结束之后,该闭包需要仍然存在。2. 在一个逃逸闭包中的闭包,需要时逃逸闭包。
注意:由于逃逸闭包本质上是保存在其他位置(或者说是被其他变量持有),会导致强循环引用问题,此时需要小心处理。