Swift5.3
Swift5.3 Language Guide
Sophia_fez
干啥啥不行,可爱第一名.jpg
展开
-
Swift5 14.Protocols
目录ProtocolsProtocols原创 2020-07-19 16:58:54 · 250 阅读 · 0 评论 -
Swift5 19.高级操作符Advanced Operators
目录Advanced OperatorsAdvanced Operators原创 2020-07-18 17:57:53 · 304 阅读 · 0 评论 -
Swift5 15.Generics
目录GenericsGenerics原创 2020-07-18 17:00:30 · 172 阅读 · 0 评论 -
Swift5 18.Access Control
目录Access ControlAccess Control原创 2020-07-17 20:04:32 · 218 阅读 · 0 评论 -
Swift5 17.不透明类型Opaque Types, Memory Safety
目录Opaque TypesOpaque Types原创 2020-07-16 19:14:43 · 366 阅读 · 0 评论 -
Swift5 16.Automatic Reference Counting
目录Automatic Reference CountingAutomatic Reference Counting原创 2020-07-16 16:03:14 · 316 阅读 · 0 评论 -
Swift5 13.类型转换,嵌套类型,Extensions
目录类型转换检查类型:isDowncasting:as类型转换为Any和AnyObject嵌套类型引用嵌套类型(待研究)Extensions计算属性InitializersMethodsSubscripts嵌套类型类型转换您可以将类型转换与类和子类的层次结构一起使用,以检查特定类实例的类型,并将该实例转换为相同层次结构中的另一个类。class MediaItem { var name: String init(name: String) { self.name = na原创 2020-07-15 18:17:39 · 252 阅读 · 0 评论 -
Swift5 12.错误处理
目录Error Handling表示和抛出错误处理错误使用投掷函数传播错误:throws使用Do-Catch处理错误将错误转换为可选值:try?禁用错误传播:try!指定清理措施(待研究)Error Handling错误处理是响应程序错误状态并从错误状态中恢复的过程。表示和抛出错误enum VendingMachineError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) ca原创 2020-07-15 17:12:38 · 257 阅读 · 0 评论 -
Swift5 11.Deinitialization, Optional Chaining
目录DeinitializationOptional Chaining可选链接作为强制展开的替代方法为Optional Chaining定义Model Classes通过可选链接访问properties通过可选链接调用Methods通过可选链接访问subscriptsLinking Multiple Levels of Chaining链接具有可选返回值的MethodsDeinitialization当不再需要实例时,Swift会自动释放其实例,以释放资源。通常,在实例被释放后,无需执行手动清理。但是,原创 2020-07-15 11:54:47 · 153 阅读 · 0 评论 -
Swift5 10.初始化Initialization(待深究)
目录Initialization设置存储属性的初始值初始化器Initializers默认属性值Default Property Values自定义初始化初始化参数参数名称和参数标签不带参数标签的初始化参数可选属性类型在初始化期间分配常量属性默认初始化器结构类型的成员初始化器Initializer Delegation for Value Types类继承和初始化指定的初始化程序和便利性初始化程序指定和便捷初始化程序的语法类类型的初始化程序委托两阶段初始化(待研究)初始化程序的继承和覆盖自动初始化程序继承指定原创 2020-07-14 21:55:13 · 576 阅读 · 0 评论 -
Swift5 9.Methods, 下标Subscripts, 继承Inheritance
目录MethodsInstance Methods从实例方法中修改值类型 mutatingMutating methods 中分配给selfType Methods下标Subscript下标用法Type SubscriptsMethodsMethods是与特定类型关联的函数。类,结构和enumerations都可以定义实例方法,这些实例方法封装了用于处理给定类型的实例的特定任务和功能。类,结构和枚举也可以定义与类型本身关联的类型方法。Instance Methods实例方法是属于特定类,结构或枚举的原创 2020-07-14 17:43:44 · 310 阅读 · 0 评论 -
Swift5 8.Properties
目录PropertiesStored PropertiesLazy Stored PropertiesComputed Properties: get, setProperty ObserversProperty Wrappers几种init方法Projecting a Value From a Property Wrapper:$全局和局部变量Type Properties(待研究)PropertiesStored Propertiesstruct FixedLengthRange { va原创 2020-07-13 21:11:20 · 227 阅读 · 0 评论 -
Swift5 7.Enumerations, Structures and Classes
目录Enumerationsenum语法遍历enumAssociated ValuesRaw ValuesImplicitly Assigned Raw ValuesRecursive EnumerationsStructures and Classesstruct和class的共同点和区别struct和enum是value type值类型的class是引用类型指针Enumerationsenum语法enum CompassPoint { case north case south原创 2020-07-13 18:42:09 · 269 阅读 · 0 评论 -
Swift5 6.Closure
目录Closure闭包表达式(各种省略方式)尾随闭包捕获上下文的value函数和闭包是引用类型Escaping Closures(关于self的问题待研究)Autoclosures(待研究)Closure全局函数是具有名称且不捕获任何值的闭包。嵌套函数是具有名称的闭包,可以从其闭包函数捕获值。闭包表达式是用轻量级语法编写的未命名的闭包,可以从其周围的上下文中捕获值。Swift的闭包表达式特点:从上下文推断参数和返回值类型单表达式闭包的隐式返回速记参数名称尾随闭包语法闭包表达式(各原创 2020-07-13 15:04:04 · 257 阅读 · 0 评论 -
Swift5 5.函数Function
目录FunctionFunction具有多个返回值的函数返回Optional内部外部名称: Argument Labels and Parameter Names默认参数值可变参数In-Out 参数Function Types使用Function TypesFunction Types作为另一个函数的参数类型Function Types作为返回类型嵌套函数FunctionFunction只用return一行编写的任何函数都可以省略return。// 没有参数func sayHelloWorld()原创 2020-07-12 20:12:32 · 390 阅读 · 0 评论 -
Swift5 4.Control Flow: for in, While, Switch, 条件语句if, switch, where
目录Control Flowfor in 循环While 循环条件语句ifswitchValue BindingswhereControl Transfer StatementsLabeled Statements(待研究)Early Exit:guard(待研究)检查API可用性(待研究)Control Flowfor in 循环for index in 1...5 { print("\(index) times 5 is \(index * 5)")}// index是一个常数无需声明原创 2020-07-12 16:52:15 · 243 阅读 · 0 评论 -
Swift5 3.Collection: Array, Set, Dictionary
目录CollectionArraySetDictionaryCollection三种collection: array有序集合, set唯一值的无序集合, dictionarie键-值关联的无序集合。Arrayvar arr = Array<Int> // 空数组,两种方式,一般采用[]var someInts = [Int]() // 简写someInts.append(3) // someInts now contains 1 value of type IntsomeInt原创 2020-07-12 12:00:08 · 287 阅读 · 0 评论 -
Swift5 2.基本运算符 & 字符串Strings和字符Characters
目录基本运算符元组之间的比较Nil-Coalescing OperatorRange运算符逻辑判断字符串Strings和字符Characters多行字符串文字用三引号 """转义字符串Extended String Delimiters(待研究)初始化字符串字符characterString Interpolation: \\().count访问和修改String子串比较字符串Unicode编码 & UTF-16(待研究)基本运算符元组之间的比较两个元组具有相同的类型和相同数量的值,则可以比较原创 2020-07-11 18:37:44 · 643 阅读 · 0 评论 -
Swift5 1.基础介绍
目录基础介绍常量let & 变量var注释分号整数浮点值类型推断 & Type Safety数字数值类型转换类型别名typealias布尔值 Bool元组 TuplesOptionals错误处理Assertions & Preconditions(待研究)AssertionsEnforcing Preconditions基础介绍常量let & 变量varlet maximumNumberOfLoginAttempts = 10 // 常量的值设定后不能更改var c原创 2020-07-10 19:27:30 · 340 阅读 · 0 评论