【发布时间】:2019-07-25 15:08:37
【问题描述】:
struct someStruct {
var foo: String?
var bar: String?
}
var someOptional: someStruct? = someStruct()
someOptional?.bar = someOptional?.foo
此代码在最后一行导致以下错误。
对'someOptional'的重叠访问,但修改需要独占访问;考虑复制到局部变量
如果我将最后一行替换为以下内容,则程序按预期运行。
let foo = someOptional?.foo
someOptional?.bar = foo
为什么第一个示例会导致错误,为什么备用版本(我认为是相同的)不会?
【问题讨论】: