gpt4 book ai didi

class - 快速可选的意外错误

转载 作者:行者123 更新时间:2023-11-28 10:25:37 25 4
gpt4 key购买 nike

我是新来的。我对一个错误感到困惑。此快速代码导致我无法理解的错误。它仅来自 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com