类型(一) – 有用的初始化器
重复值 字符串或者数组的 repeating:count: 初始化器,可以快速创建大量值。 This is a heading ============== 具体的实现代码 let heading = 'This is a heading' let underline = String(rep...
类型(三) – 数组
排序 只要数组存储的元素类型采用了 Comparable 协议,就可以使用 sorted() 和sort() 方法,前者返回一个已排序的数组,后者修改数组。 var names = ['Taylor', 'Timothy', 'Tyler', 'Thomas', ...
布局(三) – 视图修饰符
视图修饰符总是把已经存在的视图包装到另⼀层中去:修饰符会变为它所作⽤的视图的⽗视图。Padding.padding 修饰符使⽤它收到的内边距值来修改建议尺⼨,它会从建议尺⼨的对应边上减去这个边距值...
语法(五) – 解构
解构是一种将数据从元组转入和转出的智能方法,它主要有三种用途: 将一个元组分解成多个值; 同时分配多个值 切换值 元组元素的访问 let data = ('one', 'two', 'three') // 普通变量赋值方式 ...
类型(二) – 枚举
enum Color { case unknown case blue case green case pink case purple case red } 枚举的基本使用 struct Toy { let name: String let color: Color } let barbie = Toy(name: 'Barbie', col...
Slice of Pi
我们将制作一个 macOS 应用程序,帮助你记住圆周率的数字。请创建一个新的 macOS 项目,并命名为 SliceOfPi。 assets下载 足够的数据记忆圆周率最简单的方法是从字母表中为每个数字指定一个或...
Day 3 – 控制流域逻辑操作符
比较运算符 常见的比较运算符如下所示 常见的比较运算符 操作符 含义 > 大于 < 小于 >= 大于等于 <= 小于等于 == 等于 != 不等于 条件语句 if / else 语句 条件语句的语法如下所示 ...
布局(五) – 对齐
默认情况下,⼏乎所有的视图都会把⼦视图居中对⻬。Text('Hello') .frame(width: 100, height: 100) frame 修饰器拥有⼀个默认值为 .center 的 alignment 参数。这 100⨉100 的区域中,⽂本将被...