Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift中不断将项目从序列添加到数组_Ios_Swift_Uitableview_Segue - Fatal编程技术网

Ios 在swift中不断将项目从序列添加到数组

Ios 在swift中不断将项目从序列添加到数组,ios,swift,uitableview,segue,Ios,Swift,Uitableview,Segue,我现在有一系列的“人”,他们有名字和地址。看起来是这样的: let c1 = Person(name:"Bob Smith",address:"100 Main Street") let c2 = Person(name:"Add Person...",address:"") var pDirec = [[c1],[c2]] 在“我的表”视图中点击“添加人…”单元格时,它会将用户发送到另一个视图,用户可以在该视图中为某个人提供姓名/地址并提交,以便将数据传递回原始视图。在第一节中,我不知道如何

我现在有一系列的“人”,他们有名字和地址。看起来是这样的:

let c1 = Person(name:"Bob Smith",address:"100 Main Street")
let c2 = Person(name:"Add Person...",address:"")
var pDirec = [[c1],[c2]]
在“我的表”视图中点击“添加人…”单元格时,它会将用户发送到另一个视图,用户可以在该视图中为某个人提供姓名/地址并提交,以便将数据传递回原始视图。在第一节中,我不知道如何将新person对象添加到现有数组中。因此,例如,如果您将一个人“c3”传回,那么该数组将如下所示:

pDirec = [[c1,c3],[c2]]
您将能够以这种方式添加越来越多的人。

pDirec.first?.append(c3)
pDirec[0]?.append(c3)


c3
附加到pDirec多维数组中的第一个数组。如果您尚未启动阵列,我们将使用
,这样它在尝试添加时不会崩溃。

请注意,您创建的阵列当前正在向您的阵列中添加1人的阵列。您可能希望将其更改为:

var pDirec=[c1,c2]as?NSMUTABLEARRY

之后,可以使用以下方法将对象添加到该阵列:

pDirec.addObject(newPersonObject)

上述操作将生成一个如下所示的数组:


[c1,c2,c3]

我不明白为什么如果它是一个
[Person]
数组,你有
[c1],[c2]]
,你能解释更多吗?对不起,这是一个[Person]数组,我会更新这个问题。当数据传回时,获取
pDirec
索引0处的数组,并添加
Person
项。但是,如果
Person
struct
而不是
,由于structs的值语义,您必须将数组写回
pDirec
的索引0。