- 定义元组
// 匿名元组
let error = (1, "我是内容")
// 命名元组
let error = (errorCode: 1, errorMessage: "我是内容")
或者:
let error: (errorCode: Int, errorMessage: String) = (errorCode: 1, errorMessage: "我是内容")
- 获取元组内容
// 访问匿名元组,
let error = (1, "我是内容")
error.0 = 1
error.1 = "我是内容"
// 访问命名元组
let error = (errorCode: 1, errorMessage: "我是内容")
error.errorCode = 1
error.errorMessage = "我是内容"
- 修改元组
var error = (errorCode: 1, errorMessage: "我是内容")
error.errorCode = 2 // 正常代码,
error.errorMessage = 3 // 错误代码,类型错误。
上面需要注意的是,元组定义之后,
如果属性都指定了基本类型,那么后续赋值就要注意类型问题。
如果不想限制元组类型,那么就需要把参数定义为 Any 类型, 操作方式如下:
var error: (errorCode: Int, errorMessage: Any) = (errorCode: 1, errorMessage: "我是内容")
error.errorCode = 2
error.errorMessage = 3 // 这里就可以正常修改。
- 元组分解
let error = (1, "我是内容")
let (errorCode, errorMessage) = error
errorCode = 1
errorMessage = "我是内容"
- 元组作为函数返回值
func testMethod(value: String) -> (errorCode: Int, errorMessage: String) {
return (1, "我是内容")
}
let error = testMethod("")
error.errorCode = 1
error.errorMessage = "我是内容"
通常可以用元组来为函数返回多个返回值。
网友评论