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
- Swift学习笔记--关于Swift
- Swift学习笔记--Swift入门
- OpenStack Swift学习笔记
- Swift学习笔记-1
- Swift学习笔记
- Swift学习笔记
- SWIFT学习笔记01
- SWIFT学习笔记02
- SWIFT学习笔记03
- SWIFT学习笔记04
- SWIFT学习笔记05
- swift学习笔记
- swift学习笔记
- swift学习笔记2
- swift语言学习笔记
- Swift学习笔记
- Swift学习笔记-UI
- Swift学习笔记一
- EDMA_CSL库的使用
- poj 3252 Round Numbers(数位dp)
- C语言多文件编译
- IOS中的属性列表----Property List
- iOS陷阱--NSDateFormatter的线程安全性
- swift学习笔记
- xcode6下使用autolayout+sizeclass实践
- 百度面试经历,包括问的问题和我的答案
- 剑指Offer之 - 最小的k个数
- 自定义组件-BreadcrumbTreeView 的使用
- 深入掌握JMS(五):实战Topic
- netperf
- 数据库备份
- google log的使用