Если я принудительно разверну необязательный экземпляр структуры, сделает ли Swift его копию?
Например, в следующем коде, где Point
является структурой, копирует ли Swift (внутренне) point
когда я разверну его?
var point: Point?
point = Point(x: 0, y: 0)
print(point!.x)
Дополнительный вопрос
Если нет, то
if point != nil {
print(point!.x)
}
будет более эффективным, чем
if let point = point {
print(point.x)
}
, поскольку я предполагаю, что последний код (из-за назначения) заставляет Swift сделать копию point
, правильно ??