上一页 1 2 3 4 5 6 7 ··· 15 下一页

2023年3月13日

22:swift-协议

摘要: 正文 /* 22:协议 1: 协议为方法、属性、以及其他特定的任务需求或功能定义蓝图。 协议可被类、结构体、或枚举类型采纳以提供所需功能的具体实现。 满足了协议中需求的任意类型都叫做遵循了该协议。 */ import UIKit /* 2:定义属性 2.1: 属性要求定义为变量属性,在名称前面使用 阅读全文

posted @ 2023-03-13 09:26 风zk 阅读(26) 评论(0) 推荐(0) 编辑

2023年3月10日

21:swift-扩展

摘要: 正文 /* 扩展 1: 扩展为现有的类、结构体、枚举类型、或协议添加了新功能。 这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模)。扩展和 Objective-C 中的 分类 类似 2: Swift 中的扩展可以: 2.1: 添加计算实例属性和计算类型属性; 2.2: 定义实例方法和类 阅读全文

posted @ 2023-03-10 10:49 风zk 阅读(9) 评论(0) 推荐(0) 编辑

2023年3月9日

20:swift-内嵌类型:数据模型

摘要: 正文 /*内嵌类型: 定义数据模型 1: 枚举通常用于实现特定类或结构体的功能。 类似的,它也可以在更加复杂的类型环境中方便的定义通用类和结构体。 为实现这种功能,Swift 允许你定义内嵌类型,借此在支持类型的定义中嵌套枚举、类、或结构体。 若要在一种类型中嵌套另一种类型,在其支持类型的大括号内定 阅读全文

posted @ 2023-03-09 22:07 风zk 阅读(25) 评论(0) 推荐(0) 编辑

19:swift-类型转换

摘要: 正文 /* 类型转换 1:类型转换 类型转换可以判断实例的类型,也可以将该实例在其所在的类层次中视为其父类或子类的实例。 Swift 中类型转换的实现为 is 和 as 操作符。 这两个操作符使用了一种简单传神的方式来检查一个值的类型或将某个值转换为另一种类型 你还可以使用类型转换来检查类型是否遵循 阅读全文

posted @ 2023-03-09 21:39 风zk 阅读(92) 评论(0) 推荐(0) 编辑

18:swift-并发

摘要: 正文 mport UIKit class Complicate18VC: UIViewController { override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .white self.title = " 阅读全文

posted @ 2023-03-09 20:05 风zk 阅读(29) 评论(0) 推荐(0) 编辑

17:swift-错误处理

摘要: 正文 /* 17:错误处理 1:处理错误 当一个错误被抛出,周围的某些代码必须为处理错误响应 ——比如说,为了纠正错误,尝试替代方案,或者把错误通知用户 */ import UIKit class Error17VC: UIViewController { var a = 0 func test() 阅读全文

posted @ 2023-03-09 15:33 风zk 阅读(54) 评论(0) 推荐(0) 编辑

2023年3月8日

16:swift-可选链

摘要: 正文 /* 可选链 1:可选链 1.1:可选链是一个调用和查询可选属性、方法和下标的过程,它可能为 nil。 1.2:如果可选项包含值,属性、方法或者下标的调用成功;如果可选项是 nil ,属性、方法或者下标的调用会返回 nil 。 1.3:多个查询可以链接在一起,如果链中任何一个节点是 nil , 阅读全文

posted @ 2023-03-08 22:29 风zk 阅读(2) 评论(0) 推荐(0) 编辑

15:swift-反初始化器

摘要: 正文 /* 15:初始化 1:反初始化 在类实例被释放的时候,反初始化器就会立即被调用。 你可以是用 deinit 关键字来写反初始化器,就如同写初始化器要用 init 关键字一样。反初始化器只在类中有效. */ import UIKit class UnInit15VC: UIViewContro 阅读全文

posted @ 2023-03-08 18:49 风zk 阅读(9) 评论(0) 推荐(0) 编辑

14:swift-初始化

摘要: 正文 /*初始化 *** 1: 初始化是为类、结构体或者枚举准备实例的过程。 1.1:没有返回参数 1.2:初始化所有的属性。 1.3:需要给实例里的每一个存储属性设置一个初始值并且在新实例可以使用之前执行任何其他所必须的配置或初始化。 你通过定义初始化器来实现这个初始化过程,它更像是一个用来创建特 阅读全文

posted @ 2023-03-08 17:38 风zk 阅读(56) 评论(0) 推荐(0) 编辑

13:swift-继承

摘要: 正文 /* 1: 类也可以向继承的属性添加属性观察器,以便在属性的值改变时得到通知. 2: 重写父类的方法: override 关键字, 可以重写属性和方法 3:阻止重写 final关键字 */ import UIKit class Herbit13VC: UIViewController { ov 阅读全文

posted @ 2023-03-08 10:38 风zk 阅读(12) 评论(0) 推荐(0) 编辑

2023年3月6日

12:swift-下标

摘要: 正文 /* 1:下表 1.1:类、结构体和枚举可以定义下标,它可以作为访问集合、列表或序列成员元素的快捷方式。 1.2:你可使用下标通过索引值来设置或检索值而不需要为设置和检索分别使用实例方法。比如说,用 someArray[index] 来访问 Array 实例中的元素以及用 someDictio 阅读全文

posted @ 2023-03-06 23:29 风zk 阅读(10) 评论(0) 推荐(0) 编辑

11:swift-方法

摘要: 正文 /* 1: 方法 是关联了特定类型的函数。类,结构体以及枚举都能定义实例方法,方法封装了给定类型特定的任务和功能。类,结构体和枚举同样可以定义类型方法,这是与类型本身关联的方法。类型方法与 Objective-C 中的类方法相似。 事实上在 结构体和枚举中定义方法是 Swift 语言与 C 语 阅读全文

posted @ 2023-03-06 19:44 风zk 阅读(19) 评论(0) 推荐(0) 编辑

2023年3月5日

10:swift-属性

摘要: 正文 /* 1: 属性 1.1:属性可以将值与特定的类、结构体或者是枚举联系起来。 1.2:存储属性会存储常量或变量作为实例的一部分,反之计算属性会计算(而不是存储)值。 1.3:计算属性可以由类、结构体和枚举定义。 1.4: 存储属性只能由类和结构体定义。 2: 存储属性 3: 延迟存储属性 la 阅读全文

posted @ 2023-03-05 17:35 风zk 阅读(14) 评论(0) 推荐(0) 编辑

09:swift-类

摘要: 正文 import UIKit class NineClassVC: UIViewController { override func viewDidLoad() { super.viewDidLoad() } /* 1: 类与结构体的对比 在 Swift 中类和结构体有很多共同之处,它们都能: 定 阅读全文

posted @ 2023-03-05 16:25 风zk 阅读(15) 评论(0) 推荐(0) 编辑

2023年3月4日

08:swift-枚举

摘要: 正文 /* 1: ** Swift中的枚举则更加灵活,每一个枚举成员可以是字符串、字符、任意的整数值,或者是浮点类型。 2: * 一旦变量声明成枚举类型,你就可以用一个点语法 来访问枚举的值。 3: Swift 中的枚举是具有自己权限的一类类型。它们使用了许多一般只被类所支持的特性,例如计算属性用来 阅读全文

posted @ 2023-03-04 17:13 风zk 阅读(25) 评论(0) 推荐(0) 编辑

07:swift-闭包

摘要: 复习 正文 /* 7:闭包 1: ** 闭包能够捕获和存储定义在其上下文中的 任何常量和变量的引用, 这也就是所谓的闭合并包裹那些常量和变量,因此被称为“闭包”. Swift 能够为你处理所有关于捕获的内存管理的操作。 2: 闭包的好处 利用上下文推断形式参数和返回值的类型; 单表达式的闭包可以隐式 阅读全文

posted @ 2023-03-04 16:15 风zk 阅读(28) 评论(0) 推荐(0) 编辑

2023年3月3日

06:swift-函数

摘要: 正文 { override func viewDidLoad() { super.viewDidLoad() self.title = "6:函数" self.view.backgroundColor = UIColor.white // 2:调用函数 let str1 = greet(person 阅读全文

posted @ 2023-03-03 11:43 风zk 阅读(14) 评论(0) 推荐(0) 编辑

2023年2月26日

05:控制流:for循环、while循环、guard else 提前退出

摘要: 正文 for循环、while循环、guard else 提前退出 /* for循环 */ private func testForLoop() { // 1: 遍历数组 let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { 阅读全文

posted @ 2023-02-26 17:44 风zk 阅读(22) 评论(0) 推荐(0) 编辑

2023年2月23日

04:swift-数组、字典、集合

摘要: 问题 目录 预备 正文 数组、集合、字典 /*测试数组 可变数组 不可变数组 1.1:数组长度 1.2: 数组判空 1.3: 添加元素 append 1.4 += 可以使用加赋值运算符 1.5: 索引访问值 1.6: 在指定索引插入元素 1.7:删除指定索引的值 1.8:数组的遍历 */ func 阅读全文

posted @ 2023-02-23 11:44 风zk 阅读(22) 评论(0) 推荐(0) 编辑

2023年2月12日

004:C++高级教程

摘要: 1:C++ 动态内存 了解动态内存在 C++ 中是如何工作的是成为一名合格的 C++ 程序员必不可少的。C++ 程序中的内存分为两个部分: 栈:在函数内部声明的所有变量都将占用栈内存。 堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存。 很多时候,您无法提前预知需要多少内存来存储某个定义变 阅读全文

posted @ 2023-02-12 18:44 风zk 阅读(90) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 15 下一页

导航