swift学习笔记

来源:互联网 发布:上海弗洛伦萨小镇 知乎 编辑:程序博客网 时间:2024/06/06 00:34


1、数组和字典

var tempArray = ["aa","bb","cc"]var tempDictionary = ["t1":"a1","t2":"a2"]//初始化:tempArray = String[]()tempDictionary = Dictionary<String,Float>()//如果已知类型,初始化可以用如下方式var tempArray1:[String]var tempDictionary1:Dictionary<String,Float>tempArray1 = []tempDictionary1 = [:]

2、字典遍历

let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13],    "Fibonacci": [1, 1, 2, 3, 5, 8],   "Square": [1, 4, 9, 16, 25], ]var largest = 0for (kind, numbers) in interestingNumbers { for number in numbers {if number > largest { largest = number }} }

3、函数的参数是可变的情况如下:

func sumOf(numbers: Int...) -> Int {var sum = 0for number in numbers {sum += number}return sum}

4、enum中的方法toRaw()和fromRaw():在原始值和枚举值中进行切换


5、值类型:

struct等

      引用类型:

类,函数,闭包

(对于引用类型,判断两个变量是否引用同一个引用类型的实例,采用等价于“===”和“!==”来判断)


6、mutating关键字用来表示一个会修改结构体的方法


7、extension:为现有的类型添加功能


8、typealias myInt = Int   :给Int类型定义别名:myInt


9、string转int:

var s = "123"let num = s.toInt()

10、字符串是否含有某某前缀/后缀hasPrefix/hasSuffix


11、访问字符串的大写/小写版本

let normal = "Could you help me, please?" let shouty = normal.uppercaseString // shouty 值为 "COULD YOU HELP ME, PLEASE?"let whispered = normal.lowercaseString// whispered 值为 "could you help me, please?"

12、得到数组的索引和值:enumerate()

13、Swift的Array类型有一个map方法,方法内只接受一个闭包表达式作为其唯一参数,数组中的每一个元素调用一次这个闭包,从而得到新值。

        map函数返回一个新的数组,数组中包含了与原数组一一对应的映射后的值。


14、Trailing闭包:当将一个闭包作为最后一个参数传递给函数时,为了增加可读性,可将闭包放在函数参数括号外面:

func someFunctionThatTakesAClosure(closure: () -> ()) { // 函数体部分 } // 以下是不使用 trailing 闭包进行函数调用 someFunctionThatTakesAClosure({// 闭包主体部分})// 以下是使用 trailing 闭包进行函数调用someFunctionThatTakesAClosure() { // 闭包主体部分}


如果函数只有这一个参数,则括号()都可以不用写。


15、只读计算属性可以不写get和{}:

var column:double{      return 15}


0 0
原创粉丝点击