语法(一) – 模式匹配
Swift 的 switch 语句具有灵活却富有表现力的匹配模式。 基本使用 单值匹配 单值字符串匹配 let name = "twostraws" switch name { case "bilbo": print("Hello, Bilb...
智能断点
断点基础 在介绍内容之前,回顾一下设置断点和步进已暂停代码的绝对基础知识。点击任何行号都会激活该行的断点,按 Cmd+\ 也会激活当前行的断点。 当执行到该行时,断点会暂停执行,这时可以使...
Slice of Pi
我们将制作一个 macOS 应用程序,帮助你记住圆周率的数字。请创建一个新的 macOS 项目,并命名为 SliceOfPi。 assets下载 足够的数据记忆圆周率最简单的方法是从字母表中为每个数字指定一个或...
太空操作符 <=>
spaceship operator <=> (太空操作符) 它是二目运算符,并非三目运算符。 进行三向比较,>、=、<。 常见的运算符分为前缀(prefix)运算符、中缀(infix)运算符、后缀(postfix)运算...
语法(四) – 懒加载
懒加载是统性能优化的方式之一。 懒加载闭包 基本语法,如下所示 lazy var yourVariableName: SomeType = { return SomeType(whatever: 'foobar') }() 懒加载闭包代码示例 class Singer { let n...
模式(一) – MVVM
MVVM 工作原理 MVVM - 模型、视图、ViewModel,理解 MVVM 的最佳方式是这样的:除了创建一个新类 ViewModel 负责将模型中的数据转换为视图中的格式化值之外,它与 MVC 别无二致。 MVVM 模式由三...
What is an asynchronous function?什么是异步函数?
Although Swift functions are synchronous by default, we can make them asynchronous by adding one keyword: async. Inside asynchronous functions, we can call other asy...








