Swift Append做的比我们想要的多

Swift Append做的比我们想要的多,swift,Swift,我有一个带有三个选项卡的选项卡栏视图控制器。我在这个tabBar控制器中实现了一个全局数组,以便从所有选项卡访问它。它是类型为[[[Any]]]的数组。我想在第一个选项卡中添加一个元素来修改这个数组,但问题是它不只是添加元素,还修改了现有的元素。你能帮我吗?谢谢 以下是数组的定义: var invoices: [[[Any]]] = [] 以下是附录: let tabBar = tabBarController as! baseTabBarController tabBar.invoices.

我有一个带有三个选项卡的选项卡栏视图控制器。我在这个tabBar控制器中实现了一个全局数组,以便从所有选项卡访问它。它是类型为[[[Any]]]的数组。我想在第一个选项卡中添加一个元素来修改这个数组,但问题是它不只是添加元素,还修改了现有的元素。你能帮我吗?谢谢

以下是数组的定义:

var invoices: [[[Any]]] = []
以下是附录:

let tabBar = tabBarController as! baseTabBarController
tabBar.invoices.append(cells)

附言:附加是在通过segue链接连接到第一个视图控制器(tabbar view controller的子视图控制器)的视图控制器中完成的。

您确实需要提供更多信息以获得更个性化的答案

但是,您的数组是一个三维数组,这意味着您的数组中有一个数组

在数组上执行
append
方法时,它总是将新元素添加到此数组的末尾

在您的例子中:添加的元素是
[[Any]]]
类型,它是一个二维数组

注意:更多维度的数组有点棘手。您的代码所做的是在外部数组的末尾添加一个新的
二维数组
,而不是向内部数组添加一个新的Any


但是,
append
方法永远不会修改现有元素,因此请再次检查语法,因为更多维度的数组很棘手。

“但问题是,它不仅会追加元素,还会修改现有元素”这是什么意思?什么是
单元格
?我不想在内部数组中添加新的Any。我希望它像你说的那样添加一个多维数组。如果你想,我可以分享我的代码,但它是有点不可读,因为这是我的第一个项目。如果您愿意,我将添加注释。@todoMan我知道您希望在末尾添加一个新的二维数组,但是,append方法既不会更改任何现有元素,也不会更改数组中元素的顺序。这意味着,问题出在其他地方,可能您有两个类似的命名数组,或者您在其他地方更改了值而忘记了。您需要再次检查代码中是否存在任何数组操作。请随意发布您的代码,也许我可以找到一些东西。好的,这是文件夹:。只需创建一个名为“invoice”的文件夹,并放置除项目文件以外的所有文件(GitHub存在问题)。我在附加的地方加了一个标记。你找到什么了吗?