如何冻结 swift 中的数组?
How to freeze an array in swift?
在 js 中,我可以在向数组添加一些元素后冻结 数组。
Swift?
中有什么东西可以冻结数组吗?
What is freezing?
Ans: Suppose we have an array. We add some elements
to that array.
/* This is javascript code */
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");
// fruits contains some elements
// Now freeze fruits. After freezing, no one can add, delete, modify this array.
Object.freeze(fruits);
我的问题在这里 - "Is there anything in swift where we can freeze an array?"
您可以创建数组的不可变副本,但对象的可变性仅由变量声明控制(let
不可变,var
可变),因此一旦创建可变对象,你不能让它不可变或 vice-versa.
var fruits = ["Banana", "Orange", "Apple", "Mango"]
fruits.append("Kiwi")
let finalFruits = fruits // Immutable copy
finalFruits.append("Pear") // Gives compile-time error: Cannot use mutating member on immutable value: 'finalFruits' is a 'let' constant
在 js 中,我可以在向数组添加一些元素后冻结 数组。 Swift?
中有什么东西可以冻结数组吗?What is freezing?
Ans: Suppose we have an array. We add some elements to that array.
/* This is javascript code */
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");
// fruits contains some elements
// Now freeze fruits. After freezing, no one can add, delete, modify this array.
Object.freeze(fruits);
我的问题在这里 - "Is there anything in swift where we can freeze an array?"
您可以创建数组的不可变副本,但对象的可变性仅由变量声明控制(let
不可变,var
可变),因此一旦创建可变对象,你不能让它不可变或 vice-versa.
var fruits = ["Banana", "Orange", "Apple", "Mango"]
fruits.append("Kiwi")
let finalFruits = fruits // Immutable copy
finalFruits.append("Pear") // Gives compile-time error: Cannot use mutating member on immutable value: 'finalFruits' is a 'let' constant