2016-09-17 66 views
-4

我是新来的斯威夫特。我从来没有用Swift编码过。事实上,我所有的编码都是网站, HTML,CSS,Javascript。我正在寻找一个基本的,愚蠢的回答“if let声明做什么?”我知道这可能听起来很蹩脚,但我已到处寻找,似乎无法找到足够的解释;甚至没有苹果网站。有人可以向我解释“如果让”声明是什么?

+0

可选的是,可以保存一个值一箱。如果该框不为空(nil),那么'if let'语句将打开该框并将该框内的值赋予该可选项所持有的类型的变量。如果该框为空,则跳过“if let”后面的块。 – vacawama

+0

苹果公司的“The Swift Programming Language”书中有哪些描述是你遇到的麻烦? – rmaddy

+0

这是你阅读的苹果的确切部分吗? https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html – Dallas

回答

5

let x = y声明一个新的常量x并将其初始化为y的值。 if let x = y表示“如果y有一个非零值来初始化,则声明一个新的常量x,并初始化为该值”。

所以它的缩写:

if y != nil { 
    let x = y! 
    ... 
} 
0

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书并阅读介绍性章节。

+0

谢谢大家的回答。我已经知道了,甚至不知道苹果有一本Swift的书。我只是在网站上阅读他们的东西。我已阅读了一些章节,现在它肯定有意义。再次感谢您的回答! –

+0

您应该选择您认为最好的答案,然后单击复选标记以接受答案。 –

相关问题