swift-基础06-元组和Optionals(可选)
来源:互联网 发布:穿越火线抽奖软件 编辑:程序博客网 时间:2024/05/18 03:40
元组(tuples)是把多个值组合成一个复合值。
元组内的值可以使任意类型,并不要求是相同类型。
比如(404, "Not Found"),这是一个描述 HTTP状态码(HTTP status code)的元组,
Http 状态码是请求web服务器时返回的一个值。
如果你请求的页面不存在,就会返回 404
let http404Error = (404,"Not Found")
(404, "Not Found") 是将一个 Int 类型值和一个 String类型值组合在一起
表示 HTTP状态码的两个部分:数字和描述。
它可以被描述为 “一个(Int,String)类型的元组”。
元组可以包含任何类型,类型的顺序也是随意的。
比如,你可以创建 (Int, Int, Int)或者 (String, Bool)元组,或者其他任何你想要的元组。
可以将一个元组的内容分解成单独的常量或变量,然后就可以正常访问了
let (statusCode, statusMessage) = http404Error
print(statusCode)
print(statusMessage)
如果你只需要一部分元组的值,忽略的部分用下划线来标记_
let(theStatusCode,_) = http404Error
print(theStatusCode)
还可以通过索引访问元组中的各个元素,索引数字从0开始
print("statusCode==\(http404Error.0)")
还可以给元组的各个元素赋值 一下两种方式都一样
let http200Status = (statusCode:200,description:"yes,it is ok")
let http200Status = (statusCode:200,statusMessage:"yes,it is ok")
print(http200Status)
也可以用.元素名来访问这些元素
print("http200Status的status==\(http200Status.statusCode)")
元组作为函数的返回值时特别有用。
一个试图访问网页的函数可能会返回一个(Int, String)元组来描述是否成功。
和只能返回一个值比起来,返回一个包含两个不同类型值的元组让函数更有用。
元组在临时组织值的时候很有用,但是并不适合创建复杂的数据结构。
如果你的数据结构并不是临时使用,请使用类或者结构体
一个变量在未初始化之前是不能使用的,除非使用可空类型
使用可选(optionals)来处理可能缺失值的情况。
一个可选(optionals)表示:
有值,等于 x
或者,没有值
C 和 Objective-C中没有可选这个概念。
Objective-C 中的一个特性与可选比较类似:一个方法要么返回一个对象,要么返回 nil,
nil 表示“缺少一个合法的对象”。
例如:Swift的 String 类型有一个方法 toInt ,用于将一个 String 值转换成一个 Int 值。
然而,不是所有的字符串都可以转换成一个整数。
字符串 "123"可以被转换成数字123,但是"hello, world"是不行的。
下面的例子调用 Int()方法试图将一个 String转换成 Int:
let possibleNumber:String = "123"
let possibleNumber:String ="hello"
只有可空类型才能和nil进行比较,否则会报错
如下,会报错
if possibleNumber == nil {
}
let convertedNumber = Int(possibleNumber)
let convertedNumber :Int? =Int(possibleNumber)
但是下面的不会报错
if convertedNumber == nil {
}
print(convertedNumber)
当是"123"时打印的是Optional(123) 当为"hello"时为nil
因为Int()方法可能失败,所以它返回一个可选的(optional)Int,而不是一个Int。
一个可选的 Int表示为: Int? 。
问号表示是可选的,也就是说可能包含 Int值也可能不包含。
只能是 Int或者什么都没有。不能包含其他值,比如 Bool值或者 String值
可空类型不是一种类型,他是普通类型(非可空类型)加上nil的结合。
- swift-基础06-元组和Optionals(可选)
- Swift 可选(Optionals)类型
- swift-可选值(optionals)
- swift 可选类型详解 (optionals)
- Swift 中的 Optionals 可选值的介绍和使用
- 【Swift初见】Swift可选值Optionals
- 第八节swift 可选(Optionals)类型
- [iOS] Swift 初学手册:可选类型 (Optionals)
- Swift 初学手册:可选类型 (Optionals)
- swift 学习记录(可选类型 Optionals)
- Swift 初学手册:可选类型 (Optionals)
- Swift语法精炼(1)-基础数据类型,元组,可选类型
- swift基础3-元组、可选类型的介绍
- Swift语法基础:10 - Swift的布尔值, 元组, 可选, 断言
- Swift对于可选类型(Optionals)讲解不错的文章
- Swift基础语法(常量变量、数据类型、元组、可选、断言)
- Swift_可选类型(Optionals)
- Swift基础 元组
- processing-GUI:G4P library-GSlider2D (滑动器):setLimitsX(),setLimitsY(),getValueXI().getValueYI()
- 唐巧的iOS技术博客选摘
- Windows下忘记mysql密码后的解决方法
- 迷宫的最短路线(BFS)
- mysql命令行操作符下让mysql的命令自动补全功能
- swift-基础06-元组和Optionals(可选)
- websocket 解决 The extension [x-webkit-deflate-frame] is not supported 问题
- android中activity的四种加载模式
- 理工科思维
- JavaScript DOM初识
- maven 私服的搭建-Nexus的使用
- EL表达式
- Android Studio断点调试
- hdu1978 How many ways(好题 %)