Я знаю, что swift имеет как ссылочные типы, так и типы значений. И я знаю, что Int - это тип значения. Но как я могу хранить ссылку на целое число?Как сохранить ссылку на целое число в Swift
var x:Int = 1
var y:Int = x // I want y to reference x (not copy)
++y
println(x) // prints 1, but I want 2
Я попытался использовать типы в штучной упаковке, и я попытался использовать массив Int, но не работает для хранения ссылки на целое число.
Я думаю, я могу написать мой собственный
class IntRef {
var a:Int = 0
init(value:Int) { a = value }
}
var x:IntRef = IntRef(value: 3)
var y = x
++y.a
println(x.a)
кажется немного неудобно.
В чем смысл «хранения ссылки на целое число»? * Так как ** целые числа неизменны ** это не правильный запрос. * Вместо «вложенного типа» (например, Integer Java, который делает * не * влияет на изменчивость) отдельный * изменяемый контейнер *, как показано, может быть используемый. – user2864740
(эквивалент в Java к * изменяемому контейнеру * будет что-то вроде ['Holder'] (http://docs.oracle.com/javase/7/docs/api/javax/xml/ws/Holder.html), а не 'Integer'.) –
user2864740
Думаю, я должен сказать:« Как сохранить ссылку на целочисленную переменную ». Думаю, это не очевидно всем. –