0

我有一个 tableview 和一个 detailview,我可以通过包含 detail view.h 并从距离设置一些值将数据从我的 tableview 传递到详细视图initWithNib

DetailView *detailView = [[DetailView alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];

//passing data gekozenSpel

detailView.gekozenSpel = [tableData objectAtIndex:indexPath.row];

但是现在我有一个包含多个条目的数据表,其中一个已设置,即:可以在详细视图中更改,从 0 到 1 或从 1 到 0,作为字符串。一切正常,但现在我想将更改向后应用到表格视图,但这不起作用。

myTableView *myTableview = [[myTableView alloc] initWithNibName:@"myTableView" bundle:[NSBundle mainBundle]];

[myTableView.theTable replaceObjectAtIndex:location withObject:value];

因为如果您使用 initWithNib 方式,那么您将创建一个新的空表 nsmutablearray。但是我想在具有特定内容的特定位置更改该数组中的值。

也许一个单身人士可以从任何地方访问数据?我试过了,但我必须创建我声明为价值的实例,然后它是私有的而不是公共的。所以我不明白你是如何应用单例的。

任何帮助,将不胜感激,

4

2 回答 2

0

您将需要向 DetailView 添加一个委托,该委托将向旧视图传递一个新数组,该数组将包含您将重新使用的新 tableData

有关委托的更多信息,这里有一些教程 http://www.roostersoftstudios.com/2011/04/12/simple-delegate-tutorial-for-ios-development/ 如何在 Objective-C 中使用自定义委托

简单的代表示例?

于 2012-06-03T14:56:50.977 回答
0

我在详细视图中替换了心形符号的属性 (eigenschap)(最喜欢的:是或否),然后将整个数组放在母数组 (dataVoorMijnTabel) 上,以将其更新回主表视图 (mijnTabelView)。

[eigenschappendata2 replaceObjectAtIndex:locatiehartje withObject:eigenschaphartje];

mijnTabelView *mtb = [[mijnTabelView alloc] initWithNibName:@"mijnTabelView" bundle:[NSBundle mainBundle]];

mtb.dataVoorMijnTabel = eigenschappendata2;

于 2012-11-22T21:19:46.913 回答