Swift 系统学习系列
Black-Spider
机会总是留给有准备的人!
展开
-
Swift 系统学习 02 字符串 元组 给元组分量命名
/** 本节内容:* 1.Bool* 2.String/Character* 3.Tuple(*****)*/显示和隐式声明Bool类型let swiftIsCool: Bool = truelet swiftIsHard = falselet value = 10哪怕只有一行语句, 必须加大括号必须只能true/false才作为if条件; 非零原创 2017-03-01 13:58:44 · 382 阅读 · 0 评论 -
Swift 系统学习 20 结构体 添加可失败的构造方法
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.添加可失败的构造方法 */struct LocationNew { var latitude: Double = 0.0 var longitude: Double = 0.0 // 添加可选型原创 2017-03-01 15:19:47 · 290 阅读 · 0 评论 -
Swift 系统学习 21 存储型属性和计算型属性 下标语法
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.两种属性: 存储型属性和计算型属性 * 2.下标语法 */struct Point2D { // 存储属性(只能存值, 没有get和set) var x = 0.0 // Double var原创 2017-03-01 15:21:03 · 283 阅读 · 0 评论 -
Swift 系统学习 22 分析错误的三个阶段 (枚举和结构体相关)
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.分析错误处理的三个阶段 * 2.三个阶段整合 *//* 目的: 针对不同错误情况, 反映不同的错误信息 * 1.错误描述: 一般枚举类型, 遵循协议Error * 2.错误抛出: throw / throws *原创 2017-03-01 15:22:16 · 627 阅读 · 0 评论 -
Swift 系统学习 23 类的声明和初始化
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.类的声明和初始化 *//* * OC语言中, 声明类 * .h文件类的接口 @interface @class ClassName: SuperClassName @end * .m文件类的实现 @implem原创 2017-03-01 15:22:53 · 317 阅读 · 0 评论 -
Swift 系统学习 24 类相关 存储属性 计算属性 类型属性 延迟加载属性
import UIKit/* * 本节主要内容:存储属性 / 计算型属性 / 类型属性 / 延迟加载属性 */// 类型属性(Type Property)// 声明描述玩家类, 记录每个玩家的分数(存储属性), 记录所有玩家的分数(类型属性)class Player { // 名字 var name: String // 分数 var score =原创 2017-03-01 15:23:29 · 324 阅读 · 0 评论 -
Swift 系统学习 25 类相关 延迟存储属性
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.延迟存储属性 */// 声明描述闭区间的类class ClosedRange { // 起点和终点存储属性 let start: Int let end: Int // 描述闭原创 2017-03-01 15:24:10 · 243 阅读 · 0 评论 -
Swift 系统学习 26 Swift语言中的继承, 多态和重写
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.Swift语言中的继承, 多态和重写 *//* * 父类: 角色Avatar * 子类: Player: Avatar Monster: Avatar * 子类: Magici原创 2017-03-01 15:25:30 · 469 阅读 · 0 评论 -
Swift 系统学习 27 闭包的使用
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.闭包的使用 */// 不使用var array: [Int] = []for _ in 0..<10 { array.append(Int(arc4random()%100))}arrayfunc b原创 2017-03-01 15:26:16 · 295 阅读 · 0 评论 -
Swift 系统学习 28 类的访问权限
import UIKit/** 本节主要内容 1.类的访问权限 *///controller里面let app = App(name: "Clarence")app.show()app.switchMode()app.show()app.switchMode()app.show()//UI.swiftimport Foundationimport UIKit原创 2017-03-01 15:26:52 · 260 阅读 · 0 评论 -
Swift 系统学习 29 类型查看和类型转换 Any和AnyObjec
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.类型查看和类型转换 * 2.Any和AnyObject *//* * 1.类型查看运算符(Type Check Operator): 查看某个实例常量/变量是否是那个类型; 是否是该类子类的实例对象; -原创 2017-03-01 15:27:35 · 548 阅读 · 0 评论 -
Swift 系统学习 30 枚举 结构体 类 遵循协议 protocol
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.枚举 / 结构体 / 类遵循协议 */protocol Togglable { mutating func toggle() // 没有大括号}// OnOffSwitch枚举类型遵循了Togglable协原创 2017-03-01 15:28:18 · 526 阅读 · 0 评论 -
Swift 系统学习 31 扩展 extension
//: Playground - noun: a place where people can playimport UIKit// 适用场景一: 系统已有的类型无法满足特定的需求extension Double { var km: Double { return self * 1_000.0 } var m: Double { return self } va原创 2017-03-01 15:29:06 · 403 阅读 · 0 评论 -
Swift 系统学习 32 dataTask 解析JSON 打印当前线程
// Swift3.0将Foundation中的NS前缀去掉 func parseJSONData() { // 1.config对象 let sessionConfig: URLSessionConfiguration = URLSessionConfiguration.default // 自定义设置属性 // 指定客户端原创 2017-03-01 15:38:18 · 898 阅读 · 0 评论 -
Swift 系统学习 33 Thread currentThread isMainThread 创建线程四种方式 模拟售票
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //获取当前线程数 let currentThread = Thread.current print("原创 2017-03-01 16:30:19 · 1539 阅读 · 0 评论 -
Swift 系统学习 34 线程通信 Swift3.0 子线程下载图片主线程显示图片
Swift 系统学习 34 线程通信 Swift3.0 子线程下载图片主线程显示图片 Thread.detachNewThreadSelector(#selector(ViewController.downloadImage), toTarget: self, with: nil) // 线程间通信 self.performSelector(onMainThread: #selector(ViewController.showImage), with: image, waitUntil原创 2017-03-01 16:39:03 · 589 阅读 · 0 评论 -
Swift 系统学习 19 结构体的默认构造方法和自定义构造方法
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.结构体的默认构造方法和自定义构造方法 *//* * 1.默认构造init方法:没有添加任何的init方法, 由编译器自动生成的方法; 包含所有属性的init方法 * 1.1 默认构造方式失效: 当在声明结构体阶段,原创 2017-03-01 15:19:06 · 475 阅读 · 0 评论 -
Swift 系统学习 18 结构体 改变结构体里面的元素
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.结构体的基本使用 */// 声明: 结构体是值类型; 也是自定义类型(声明和初始化)struct Location { // 添加属性(var / let) var latitude: Double原创 2017-03-01 15:18:22 · 2083 阅读 · 0 评论 -
swift 系统学习 03 三目 区间运算符 开区间 闭区间 和三目类似的还有一个空合/聚合运算符
/* * 本节内容: * 1.除法 % * 2.&& || * 3.三目 * 4.区间运算符 */let imZero = 30let imIntOne = 10.5imIntOne / Double(imZero)// Swift2.2的语法// let result = 10 % 2.5// Swift3.0let result = 10.0.truncating原创 2017-03-01 14:10:31 · 516 阅读 · 0 评论 -
swift 系统学习 04 可选值 解包 解包的几种方式
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.可选型的基本使用 * 2.可选型的解包 */// 例如:let possibleNumber = "123"// 给定字符串, 转成整型(Int结构体提供方法)// convertedNumber是整型可选型(类原创 2017-03-01 14:12:24 · 639 阅读 · 0 评论 -
swift 系统学习 05 聚合(空合)解包 链式解包 可选型和元组的结合
//: Playground - noun: a place where people can playimport UIKit/* * 本节内容: * 1.可选型的nil聚合(Nil-Coalescing)解包 * 2.可选型的链式(Optional Chaining)解包 * 3.可选型和元组的结合 */var errorMessage: String?// 需求: 如原创 2017-03-01 14:15:14 · 334 阅读 · 0 评论 -
Swift 系统学习 06 循环语句
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.循环语句 */for index in 0..<10 { print("index is \(index)")}// 需求:计算2的10次方var result = 1var baseValue = 2原创 2017-03-01 15:08:00 · 218 阅读 · 0 评论 -
swift 系统学习 07 区间 和 switch case
//: Playground - noun: a place where people can playimport UIKit/* * 本节内容: switch语句 * 1.基本使用 * 2.和区间运算符结合 * 3.和元组结合 * 4.where模式匹配 *//* C语言的switch语句: 条件只能判断int类型 * switch (条件) { case原创 2017-03-01 15:09:00 · 365 阅读 · 0 评论 -
Swift 系统学习 08 数组的创建 增删改查
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.数组的创建和初始化 * 2.数组遍历 * 3.数组元素的增删改查 *//* * value type值类型: 赋值和作为函数参数的时候, 是值的拷贝, 这样的类型称为值类型. --> Int/String/Ch原创 2017-03-01 15:09:42 · 354 阅读 · 0 评论 -
Swift 系统学习 09 repeat while
//: Playground - noun: a place where people can playimport UIKit//repeat {// //} while aValue == bValue// 课堂练习一: 使用repeat whilevar aWin = falsevar bWin = falserepeat { let aRandomValu原创 2017-03-01 15:10:30 · 348 阅读 · 0 评论 -
Swift 系统学习 10 字典 Dictionary 增删改查
//: Playground - noun: a place where people can playimport UIKit/* * 本节内容: * 1.字典的声明和初始化 * 2.字典的遍历 * 3.字典的增删改查 *//* * 数组: 有序, 可以重复 * 字典: 无序, 不可重复(key) * 集合: 无序, 不可重复 */// 隐式声明字典[key:原创 2017-03-01 15:11:14 · 728 阅读 · 0 评论 -
Swift 系统学习 11 函数 函数的声明 和调用 下划线 调用的时候 忽略参数名
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.函数的声明和调用(掌握) * 2.函数和可选型结合(掌握) * 3.函数和元组结合 * 4.函数的参数标签(理解) */// 一个参数String类型, 没有返回值func sayHelloTo(name: St原创 2017-03-01 15:12:04 · 394 阅读 · 0 评论 -
Swift 系统学习 12 可变长参数函数
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.可变长参数 * 2.函数形参的性质(**) * 3.函数类型Function Type(***) * 4.函数类型作为其他函数参数 * 5.函数类型作为其他函数的返回值 */print("hello", "wo原创 2017-03-01 15:12:59 · 528 阅读 · 0 评论 -
Swift 系统学习 13 泛型 这里是和函数一起讲的泛型
//: Playground - noun: a place where people can playimport UIKit/** 本节主要内容:* 1.泛型函数Generic Function*/func swapOne(_ first: inout Int, _ second: inout Int) {(first, second) =原创 2017-03-01 15:13:56 · 202 阅读 · 0 评论 -
Swift 系统学习 14 inout 关键字
//: Playground - noun: a place where people can playimport UIKit// 课堂练习一:func mean(_ numbers: Double...) -> Double { var sum: Double = 0 // 循环累加 for number in numbers { sum +=原创 2017-03-01 15:15:05 · 390 阅读 · 0 评论 -
Swift 系统学习 15 枚举
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容: * 1.枚举类型声明和初始化(**) * 2.rawValue: 源值 * 3.associated value关联值(****) */// 枚举类型特点: 有限个可能性 + 初始化只能有一种可能性// 结构体特点: 多原创 2017-03-01 15:15:49 · 206 阅读 · 0 评论 -
Swift 系统学习 16 可选值 本质是枚举 (理解)
//: Playground - noun: a place where people can playimport UIKit/* * 本节主要内容(理解): * 1.可选型本质是枚举类型 *//* * 1.可选型是新的类型 --> Optional枚举类型 * 2.和其他类型结合使用 --> Optional枚举类型包含泛型语法 * 3.只有可选型才可以赋值为nil -原创 2017-03-01 15:16:38 · 435 阅读 · 0 评论 -
Swift 系统学习 17 guard else (守护)
//: Playground - noun: a place where people can playimport UIKit/* * 本节内容: * 1.guard else *//* * 基本使用伪代码: var x = 9 guard x > 10 else { // 不能满足上面的条件(不能保证条件) return } // 满足条件, 业原创 2017-03-01 15:17:33 · 955 阅读 · 0 评论 -
Swift 系统学习 01 系统学习 01 常量 变量 (Objective-C)
//: Playground - noun: a place where people can playimport UIKit/* * Playground三个组成部分:* 1.代码区: Coding Area* 2.调试区: Debug Area* 3.结果侧边栏: Results Side Bar*//** 本节主要内容:* 1原创 2017-03-01 10:18:47 · 268 阅读 · 0 评论