Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Objective c 在表视图中添加新项:错误_Objective C_Uitableview - Fatal编程技术网

Objective c 在表视图中添加新项:错误

Objective c 在表视图中添加新项:错误,objective-c,uitableview,Objective C,Uitableview,对于TableView,有一点我不理解:如何在TableView中添加新项 下面是我要做的:当我点击一个按钮“+”时,模态控制器出现,我们输入一个新项目,表格视图应该被编辑,在底部有一个新项目。在rootViewController中,我将tableWebsites可变数组附加到modal viewcontroller,这样我们就有了可变数组的一个副本,我们可以在该副本的末尾添加新项: ModifViewController *addView = [[ModifViewController al

对于TableView,有一点我不理解:如何在TableView中添加新项

下面是我要做的:当我点击一个按钮“+”时,模态控制器出现,我们输入一个新项目,表格视图应该被编辑,在底部有一个新项目。在rootViewController中,我将tableWebsites可变数组附加到modal viewcontroller,这样我们就有了可变数组的一个副本,我们可以在该副本的末尾添加新项:

ModifViewController *addView = [[ModifViewController alloc] initWithNibName:@"ModifViewController" bundle:nil];  
addView.tabWebSites = self.tabWebSites;  
最后,在rootViewController中,我们说:

[self.tableView reloadData];
所以我们在RootView中复制了可变数组。。。要在ModifyView中编辑。。。但是tableview如何知道在ModifyView中编辑的可变数组tableWebsites。。。是否应该“填充”表视图?因为我们在RootView中有一个表。。。还有另一个ModifyView中的表格网站。。。为了编辑它。所以我认为:即使我们说“reloadData”,它也会在RootView中重新加载相同的可变数组

你明白我的意思吗?对不起,如果是一团糟,我很难把自己说清楚;)谢谢你的回答


Paul

UITableView对象实际上是在询问要显示的值以及节数等。将
reloadData
发送到表视图将使其重新询问这些值

因此,我认为无论数据源从哪个数组中选取值,这些方法都应该始终返回正确的值

有用链接:


您正在使用numberOfRowsInSection方法。它返回行数。是否看到该方法使用了[TabCount]?因此,在数组中添加值之后以及再次返回Rootviewcontroller并执行[self.tableView reloadData]时。它将再次执行所有TableView方法

不,它不会重新加载相同的可变表ARRAY@Legalos:谢谢,但我们如何具体说明?代码中实际上没有任何内容说“用可变数组副本填充表视图”。。。这就是我不太明白的地方。
addView.tabWebSites=self.tabWebSites
将当前视图的tabWebsites内容复制到AddViewThank Vince的tabWebsites,实际上与上面相同:)->如何指定可变数组?代码中实际上没有任何内容说“用可变数组副本填充表视图”。。。这就是我不太理解的地方。表视图不包含任何数据,而是要求其数据源在节中的某个节索引和行索引处显示单元格。数据源传统上是某个视图控制器,它是表视图和某个模型对象之间的粘合剂。因此,表视图将首先询问节数,然后询问每个节的行数,最后询问每行要显示的单元格。在我的回答中,你可以有一个入门指南,我会编辑。谢谢Vince,如果只是填充一个表视图,那就可以了,因为我理解你的意思,但我想知道新项目是如何命名的,因为实际上,我们有一个self.tableWebsites计数来知道单元格的数量,但我们有另一个tableWebsites,在另一个viewController中…你知道我的意思吗?不是真的,但是如果你有两个数组,并且想在其中放入一些对象到第一个数组中,那么就这样做。只要数据源正在检查正确的一个,就完成了。因此,当您说“检查正确的一个”时,我们可能必须(向RootViewController)指定要在表视图中使用的数组是在ModifViewController中编辑的数组:但在我的代码中:没有关于它的任何内容,就像它是自动完成的,但如何完成?我们首先在ModifyViewController中将数组复制到一个新数组中,然后。。。魔法…:)数据源知道正确的数组不是self.myArray,而是ModifyView中的数组。。。这是当我们按下“+”按钮时出现的控制器。我在这里遗漏了一些东西。。。