gpt4 book ai didi

arrays - 在 Swift 3 中将结构附加到结构数组

转载 作者:行者123 更新时间:2023-11-28 14:42:48 24 4
gpt4 key购买 nike

我有一个结构:

struct Note{
var date: String;
var comment: String;
}

然后我创建了一个数组,其中嵌套了两个数组,

var data = [[Note()],[Contributors()]]

这两个数组用于填充 TableView 的两个部分。我需要将一个结构追加到 Notes 结构数组上,但是当我尝试使用

追加它时
data[0].append(Note(date: "06-06-2012",comment:"Created Note"))

(data[0] as! Note).append(Note(date: "06-06-2012",comment:"Created Note"))

抛出错误

Cannot use mutating member on immutable value of type 'Note'

如何改变需要转换的值?

最佳答案

您最初创建的数组不正确。

改变:

var data = [[Note()],[Contributors()]]

到:

var data: [Any] = [[Note](),[Contributors]()]

您的代码创建了一个数组,在索引 0 处包含一个 Any 数组,其中包含一个空的 Note 实例,在索引 1 处包含一个 Any 数组code> 包含一个空的 Contributors 实例。

该修复程序创建了一个数组,该数组在索引 0 处包含一个空的 Note 数组,在索引 1 处包含一个空的 Contributors 数组。

但即使有所有这些“修复”,如果你这样做,你仍然会得到错误:

(data[0] as! Note).append(Note(date: "06-06-2012",comment:"Created Note"))

data 包含两种不同类型的数据有点奇怪。你真的应该有两个数组:

var notes = [Note]()
var contributors = [Contributors]()

然后你可以很容易地做到:

notes.append(Note(date: "06-06-2012",comment:"Created Note"))

关于arrays - 在 Swift 3 中将结构附加到结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50440707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com