作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是新来的。我对一个错误感到困惑。此快速代码导致我无法理解的错误。它仅来自 Apple 文档“Optional Chaining as a Alternative to Forced Unwrapping”
class Person {
var residence: Residence?
}
class Residence {
var numberOfRooms = 1
}
let john = Person()
john.residence = Residence()
john.residence.numberOfRooms = 5
//此处出现错误:“住宅?”没有名为“numberOfRooms”的成员
最佳答案
residence
Person
的属性(property)是可选的,所以为了访问它的内容,你必须打开它。您可以使用可选链接来做到这一点:
john.residence?.numberOfRooms = 5
^
这意味着:如果 residence 不为 nil,则继续计算表达式右侧的内容,否则取消。
这个错误似乎是无稽之谈,因为 Residence
确实有一个名为 numberOfRooms
的属性.重点是 john.residence
是可选类型,可选类型是枚举的实例,Optional<T>
- 没有 numberOfRooms
属性(property)。使用可选链接 Residence
instance 从枚举中解包(即可选),因此错误消失,因为 Residence
具有该属性。
更多信息请访问 Optional Chaining (注意这是问题中提到的文档)
关于class - 快速可选的意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631073/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!