目录
一、Swift函数
1.函数定义
(1)用关键字func定义函数
- 定义函数的时候,可以指定一个或多个输入参数和一个返回值类型
- 函数的参数传递的顺序必须与参数列表相同
- 函数的实参传递顺序必须与形参列表相同,->后定义函数的返回值类型
(2)语法
func funcname -> returntype
{
Statement1
Statement2
...
return parameters
}
funcname是形参
例:该函数的形参数据类型为String
import Cocoa
func Specialist(site:String) -> String{
return(site)
}
print(Specialist(site:"nonono"))
2.函数调用
通过函数名以及对应类型的参数值来调用函数
3.函数参数
函数可以接受一个或者多个参数,这些参数被包含在函数的括号中,用逗号分隔
(1)局部参数名
局部参数名在函数的实现内部使用
(2)外部参数名
用于在函数调用时传递给函数的参数
(3)可变参数
函数调用时可以用可变参数来指定函数参数,其数量是不确定的
通过在变量类型后面加入(...)的方式来定义
4.常量/变量及I/O参数
- 一般默认在函数中定义的参数都是常量参数,不能改变
- 如果想要声明一个变量参数,可在参数定义前加inout关键字
- 当传入的参数作为输入输出参数时,需要在参数名前加&符,表示这个值可以被函数修改
5. 函数类型及使用
(1)使用函数类型就像使用其他类型一样
(2)函数类型作为参数类型
函数类型作为返回类型
import Cocoa
func sum(a: Int, b: Int) -> Int {
return a + b
}
var addition: (Int, Int) -> Int = sum
print("输出结果: \(addition(40, 89))")
func another(addition: (Int, Int) -> Int, a: Int, b: Int) {
print("输出结果: \(addition(a, b))")
}
another(addition: sum, a: 10, b: 20)
输出结果: 129
输出结果: 30
6.函数嵌套
函数内定义一个新函数,外部的函数可以调用函数内定义的函数
如:
二、结构体
1.功能
为结构体定义属性(变量,常量)和添加方法,从而扩展结构体的功能
2.语法
3.应用
结构体实例总是通过值传递来定义自定义数据类型。
按照通用的准则,当符合一条或多条以下条件时,考虑构建结构体:
- 结构体的主要目的是用来封装少量相关简单数据值。
- 有理由预计一个结构体实例在赋值或传递时,封装的数据将会被拷贝而不是被引用。
- 任何在结构体中储存的值类型属性,也将会被拷贝,而不是被引用。
- 结构体不需要去继承另一个已存在类型的属性或者行为。
三、类
1.与结构体的区别
- 继承允许一个类继承另一个类的特征
- 类型转换允许在运行时检查和解释一个类实例的类型
- 解构器允许一个类实例释放任何其所被分配的资源
- 引用计数允许对一个类的多次引用
2.语法
class classname {
Definition 1
Definition 2
……
Definition N
}
3.作为引用类型访问类属性
格式为:实例化类名.属性名:
4.恒等运算符
四、Swift UI
1.自定义文本视图
通过更改Text中的内容来表示出我们像表达的内容
通过.加专用名词改变文字效果
2.使用堆栈组合视图