为啥我可以在 Swift 中更改 const 数组的成员? [复制]
Posted
技术标签:
【中文标题】为啥我可以在 Swift 中更改 const 数组的成员? [复制]【英文标题】:Why can I alter the members of a const array in Swift? [duplicate]为什么我可以在 Swift 中更改 const 数组的成员? [复制] 【发布时间】:2014-06-08 15:55:34 【问题描述】:为什么下面的代码有效?试图弄清楚 Swift 如何处理 const。
let list = [1, 2, 3, 4, 5]
list[1] = 0
编辑:这是Is there a reason that Swift array assignment is inconsistent (neither a reference nor a deep copy)? 的副本
我需要在搜索方面做得更好:)
【问题讨论】:
【参考方案1】:在 Swift 中数组是 const
有点不同于 Swift 中的其他东西。当一个数组为const
时,它只是意味着它的长度不能改变,单个元素仍然可以改变。
【讨论】:
【参考方案2】:要使用 C 等效项,list
就像“指向非常量对象的常量指针”。这意味着您无法更改list
指向的数组,但您可以更改其内容。
【讨论】:
以上是关于为啥我可以在 Swift 中更改 const 数组的成员? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Swift iOS - 我为啥可以循环遍历一组类对象并进行属性更改但不能更改结构[重复]
如何在 Swift 中声明一个静态 const char 数组? [关闭]
将 Swift 字符串数组转换为 const char * const *
为啥允许我在 C 中使用 const 限定变量作为数组大小?
Swift 3:为啥我不能在 didDeselectRowAt 中更改 cell.accessoryType 和 cell.textLabel