我是新来的斯威夫特。我从来没有用Swift编码过。事实上,我所有的编码都是网站, HTML,CSS,Javascript。我正在寻找一个基本的,愚蠢的回答“if let
声明做什么?”我知道这可能听起来很蹩脚,但我已到处寻找,似乎无法找到足够的解释;甚至没有苹果网站。有人可以向我解释“如果让”声明是什么?
回答
let x = y
声明一个新的常量x并将其初始化为y的值。 if let x = y
表示“如果y有一个非零值来初始化,则声明一个新的常量x,并初始化为该值”。
所以它的缩写:
if y != nil {
let x = y!
...
}
if let
是所谓的可选绑定。要理解它,你首先必须了解可选项。
可选是一个变量,可以包含一个值或零。
您使用问号声明可选变量:
var a:Int?
下面是一些代码使用可选的结合:
var string1: String?
if let string2 = string1 {
print("string2 = \(string2)")
}
的“如果让”表情说:“如果在等号的右边表达标志不是零,创建一个新的常量字符串2, 。拆开包装可选,并把它包含字符串值
通过上面的代码,没有什么会被打印,因为STRING1包含零
然而,与其他线之间:
var string1: String?
string1 = "foo"
if let string2 = string1 {
print("string2 = \(string2)")
}
然后执行print语句。
我建议下载Apple的Swift书并阅读介绍性章节。
谢谢大家的回答。我已经知道了,甚至不知道苹果有一本Swift的书。我只是在网站上阅读他们的东西。我已阅读了一些章节,现在它肯定有意义。再次感谢您的回答! –
您应该选择您认为最好的答案,然后单击复选标记以接受答案。 –
- 1. 有人可以向我解释这个声明是如何排除的吗?
- 2. Javascript - 有人可以向我解释这到底是什么吗?
- 3. 有人可以简单地向我解释什么是乘客?
- 4. 有人可以向我解释什么是Threadsafe?
- 5. 有人可以向我解释什么是technet订阅?
- 6. 有人可以解释这一点,如果我已经去告诉我什么是错的声明?
- 7. 有人可以向我解释为什么我需要在以下代码段中保留声明吗?
- 8. 有人可以向我解释在这里做什么
- 9. 有人可以向我解释什么respond_to呢? (Rails)的
- 10. 有人可以向我解释光能传递照明吗?
- 11. 有人可以解释我什么是API。?
- 12. 有人可以解释以下奇怪的函数声明吗?
- 13. 有人可以向我解释什么(NSString *)与Obj-C意味着什么?
- 14. 有人可以向我解释这个查询的结果吗?
- 15. 有人可以解释变量声明在C
- 16. 有人可以解释我的代码有什么问题吗?
- 17. 有人可以向我解释自我加入如何工作
- 18. 任何人都可以解释我什么是项目[0] .qty
- 19. 任何人都可以向我解释什么主键实际上做什么?
- 20. 有人可以解释为什么我遇到了stackoverflow?
- 21. 任何人都可以向我解释这个脚本是做什么的?
- 22. 任何人都可以向我解释这个查询是干什么的?
- 23. 任何人都可以用JavaScript语言向我解释什么是“指针”?
- 24. 有人可以解释什么是运营商“:?”?
- 25. 有人可以解释一下Ruby(?)是什么吗?
- 26. 有人可以解释什么是电线级协议吗?
- 27. 有人可以解释“-1。#QNAN”是什么意思?
- 28. 有人可以向我解释为什么L(long)必须在那里吗?
- 29. 有人可以向我解释这个嵌套循环内发生了什么?
- 30. 有人可以向我解释这个sql命令在做什么
可选的是,可以保存一个值一箱。如果该框不为空(nil),那么'if let'语句将打开该框并将该框内的值赋予该可选项所持有的类型的变量。如果该框为空,则跳过“if let”后面的块。 – vacawama
苹果公司的“The Swift Programming Language”书中有哪些描述是你遇到的麻烦? – rmaddy
这是你阅读的苹果的确切部分吗? https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html – Dallas