Если у меня есть какая-то существующая структура, но я хочу использовать поведение «Ссылка», как мне это достичь?Как передать структуру по ссылке?
Я могу написать простой класс-держатель, как
class Box<T> {
var value: T
init(_ value: T) {
self.value = value
}
}
Я предполагаю, что должен быть готовый класс в стандартной библиотеке, но я не нашел его.
Я хочу сохранить эту ссылку в своем классе, поэтому параметр inout не то, что мне нужно.
Будет ли 'class' быть более подходящим для ваших целей? Они передаются по ссылке. Экземпляры 'struct' предназначены для передачи по значению. – sapi
Это решит мою проблему, но это означает, что мне нужно дублировать существующую структуру структуры, такую как CGRect, и выполнять преобразования взад и вперед. Я хочу избежать дублирования, если это возможно. – vbezhenar
@sapi: все в Swift всегда передается по значению, если параметр не отмечен 'inout', и в этом случае он всегда передается по ссылке. – newacct