Swift4语法
Leonardo_Fibonacci
make it happen make it better
展开
-
swift 类方法和实例方法 ,mutating
【代码】swift 类方法和实例方法 ,mutating。原创 2022-08-30 22:29:46 · 1121 阅读 · 0 评论 -
swift 流程控制语句
【代码】swift 流程控制语句。原创 2022-08-29 21:39:48 · 510 阅读 · 0 评论 -
swift 数组 filter reduce sort 等方法
数组的常用方法swift 数组有很多的操作方法,但是用的时候用常常想不起来,就列出来看看map 和 flatMap对数组中的元素进行变形操作filter主要对数组进行过滤reduce主要对数组进行计算sort对数组进行排序forEach循环遍历每一个元素min 和 max找出数组中最大元素和最小的元素drop丢弃元素conta...原创 2019-07-05 14:37:04 · 980 阅读 · 0 评论 -
siwft 写时复制 Copy-On-Write
写时复制 Copy-On-Write1 定义在siwft 标准库中,Array,Dictionary,Set这样的集合类型是通过写时复制来实现的。import Foundationvar a1 = [1,2,3];var a2 = a1;// 将a1 复制给 a2,地址打印结果是相同的// 0x1--0x2--0x3print(String(format: "%p--%p--...原创 2019-07-10 09:58:39 · 319 阅读 · 0 评论 -
swift Sequence 和 SubSequence
1 序列 Sequence序列协议是集合类型结构中的基础。一个序列是代表有一系列具有相同类型的值,并且对这些值进行迭代。协议中主要有两个参数,一个是元素Element,一个就是迭代器Iterator /// A type representing the sequence's elements. associatedtype Element where Self.Elemen...原创 2019-07-09 11:31:24 · 1053 阅读 · 0 评论 -
swift可选类型
import UIKit// Press ⌘1 (Or use View -> Navigators menu) to open Project Navigation to choose the file.var array1 = ["1","2","3","4","5"];// 1 if let 是一个组合关键字 来进行可选绑定// 解决Optional对象解包时产生空...原创 2019-07-08 11:08:41 · 293 阅读 · 0 评论 -
11-协议
import UIKitvar str = "Hello, playground"// 1 协议// 类 和 结构体 和 枚举可以声明遵守某一个协议,并且提供该协议所遵守的属性和方法// 格式如下//protocol 协议名{// // 协议内容//}// 2 协议可以要求其遵守者实现某些方法实例方法或者静态方法protocol Figure{ func ...原创 2019-03-26 14:19:00 · 259 阅读 · 0 评论 -
10-闭包
import UIKitvar str = "Hello, playground"// 1计算机语言闭包的实现必要条件// 1.1 支持函数类型,能够将函数作为参数或者返回值传递// 1.2 支持函数嵌套,函数内部嵌套函数func caculate(opr:String) ->(Int,Int)->(Int){ // + 函数 func add(a:In...原创 2019-03-19 11:33:10 · 254 阅读 · 0 评论 -
9-扩展
import UIKitvar str = “Hello, playground”// 1 在原有的类型上(类,结构体,枚举)的基础上添加新的功能。扩展是一种轻量级的继承机制// swift 中的扩展机制可以在原类型上添加新的功能// 1.1 实例计算属性和静态计算属性// 1.2 实例方法和静态方法// 1.3 构造器// 1.4 下标// 2 扩展计算属性// Int 的扩展...原创 2019-03-13 11:49:38 · 206 阅读 · 0 评论 -
8-类的继承
import UIKitvar str = "Hello, playground"// 1 类的继承// 继承只能发生在类类型上,不能发生在枚举和结构体上面// 2 构造器过程中的安全检查// 类的构造过程有一下// 第一步:类的构造过程中包含两个阶段,第一步分配内存,初始化子类存储属性,沿着构造器链向上初始化父类存储属性。// 第二步:从顶部构造器链往下,对每个类进行进一步...原创 2019-03-07 10:38:58 · 229 阅读 · 0 评论 -
5属性和下标
import UIKitvar str = "Hello, playground"// 1 存储属性// 分为 常量属性 和 变量属性// 延迟加载属性class Employee1{ var no:Int = 0; lazy var depart:Depart1 = Depart1(); }struct Depart1{ var name:...原创 2019-02-27 09:51:02 · 272 阅读 · 0 评论 -
7-构造器方法
import UIKit// 1 构造器// 结构体和类在实例的构造过程中会调用一种特殊的方法init,称之为构造器// 构造器的主要作用是初始化存储属性// 如果存储属性在构造器中没有初始化 在定义的时候也没有初始化 就会产生编译错误class Employee{ let no:Int; var name:String?; // 在构造器中进行初始化存储属性...原创 2019-03-06 10:36:54 · 237 阅读 · 0 评论 -
1-基础
一 常量和变量import UIKitvar str = "Hello, playground"// 1 let 声明常量 var 声明变量let name = "alex"var age = 15// 2 类型标注 表示此变量可以存储string 类型的值// ?表示声明的时候不赋值 否则的话必须赋值// 会报错: variables currently must have...原创 2019-02-21 09:52:33 · 340 阅读 · 0 评论 -
6-方法
import UIKit// 1 创建一个实体类 再起里面顶一个实例方法class Account{var ammount:Double = 10000.00;// 账户金额var owner:String = “Alex”;// 所有者// 利息计算公式func calculateInterestWithRate(rate:Double) -> Double {return ...原创 2019-03-05 14:32:38 · 200 阅读 · 0 评论 -
4-类和结构体和可选类型
import UIKitvar str = “Hello, playground”// 1 枚举语法// 与 C 和 Objective-C 不同,Swift 的枚举成员在被创建时不会被赋予一个默认的整型值// 书写方式一enum sizeType{case smallcase middlecase large}// 书写方式二enum sizeNumber{case x...原创 2019-02-26 11:43:14 · 329 阅读 · 0 评论 -
3集合与函数类型
import UIKitvar str = “Hello, playground”// 1 数组// 创建一个空的数组var arr1 = Int;arr1.append(6);// 创建一个特定大小 并且所有数据都被默认的构造方法// 以下数组有6个5var arr2 = Array(repeating: 5, count: 6);// 通过两个数组相加创建一个数组var a...原创 2019-02-25 10:19:06 · 248 阅读 · 0 评论 -
02-字符串
import UIKitvar str = “Hello, playground”// 1 初始化一个空的字符串 用var修饰表示可变字符串 用let表示不可变let str1 = “”;var str2 = String();// 判断字符串是否为空if str1.isEmpty{print(“isEmpty”);}// 2 遍历字符串for char in “Alexan...原创 2019-02-22 09:36:10 · 238 阅读 · 0 评论