相关疑难解决方法(0)

Swift语言中的感叹号是什么意思?

Swift编程语言指南有以下示例:

class Person {
    let name: String
    init(name: String) { self.name = name }
    var apartment: Apartment?
    deinit { println("\(name) is being deinitialized") }
}

class Apartment {
    let number: Int
    init(number: Int) { self.number = number }
    var tenant: Person?
    deinit { println("Apartment #\(number) is being deinitialized") }
}

var john: Person?
var number73: Apartment?

john = Person(name: "John Appleseed")
number73 = Apartment(number: 73)

//From Apple's “The Swift Programming Language” guide (https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AutomaticReferenceCounting.html)
Run Code Online (Sandbox Code Playgroud)

然后,当将公寓分配给该人时,他们使用感叹号来"解开实例":

john!.apartment = number73
Run Code Online (Sandbox Code Playgroud)

"打开实例"是什么意思?为什么有必要?它与仅执行以下操作有何不同:

john.apartment …
Run Code Online (Sandbox Code Playgroud)

optional swift forced-unwrapping

513
推荐指数
9
解决办法
14万
查看次数

Swift变量装饰用"?" (问号)和"!" (感叹号)

我知道在Swift中所有变量都必须设置一个值,并且通过使用选项,我们可以设置一个nil最初设置的变量.

我不明白的是,用a设置一个变量!是做什么的,因为我认为这会从一个可选项中"解开"一个值.我想通过这样做,你保证有一个值来展开该变量,这就是为什么在IBActions上你会看到它被使用.

所以简单地说,当你做这样的事情时,初始化的变量是什么:

var aShape : CAShapeLayer!
Run Code Online (Sandbox Code Playgroud)

为什么/我什么时候会这样做?

optional swift

103
推荐指数
1
解决办法
2万
查看次数

问号'含义'是什么意思?在快速?

在Swift编程中,我发现了一些带有对象的问号.

var window: UIWindow?
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释它的使用吗?

ios swift

81
推荐指数
2
解决办法
5万
查看次数

标签 统计

swift ×3

optional ×2

forced-unwrapping ×1

ios ×1