我有一个tableview和一个detailview,我可以通过包含详细view.h并从距离initWithNib
设置一些值,将数据从我的tableview传递到详细视图。
DetailView *detailView = [[DetailView alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
//passing data gekozenSpel
detailView.gekozenSpel = [tableData objectAtIndex:indexPath.row];
但是现在我有一个包含多个条目的数据表,然后设置其中一个,即:可以在详细视图中将其从0更改为1或从1更改为字符串。它工作得很好,但现在我想将更改向后应用到表格视图,但这不起作用。
myTableView *myTableview = [[myTableView alloc] initWithNibName:@"myTableView" bundle:[NSBundle mainBundle]];
[myTableView.theTable replaceObjectAtIndex:location withObject:value];
如果您使用initWithNib操作方式,那么您将创建一个新的空表nsmutablearray。但是我希望在具有特定内容的特定位置更改该数组中的值。
也许单身人士可以从任何地方访问数据?我试过,但我必须创建我声明为值的实例,然后它是私有的而不是公共的。所以我不明白你如何应用单身人士。
任何帮助将不胜感激,
扬
答案 0 :(得分:0)
您需要向DetailView添加委托,此委托会将新数组传递给旧视图,此数组将包含您将要补充的新tableData
有关委托的更多信息,请参阅以下教程 http://www.roostersoftstudios.com/2011/04/12/simple-delegate-tutorial-for-ios-development/ How to use custom delegates in Objective-C
答案 1 :(得分:0)
我在详细视图中替换心脏符号的属性(eigenschap)(最喜欢:YES或NO),然后将整个数组放在母数组(dataVoorMijnTabel)上以将其更新回主表视图( mijnTabelView)。
[eigenschappendata2 replaceObjectAtIndex:locatiehartje withObject:eigenschaphartje];
mijnTabelView *mtb = [[mijnTabelView alloc] initWithNibName:@"mijnTabelView" bundle:[NSBundle mainBundle]];
mtb.dataVoorMijnTabel = eigenschappendata2;