【问题标题】:passing data iOS nsmutable array传递数据 iOS nsmutablearray
【发布时间】:2012-06-03 14:10:39
【问题描述】:

我有一个 tableview 和一个 detailview,我可以通过包含 detail 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 到 0,作为字符串。一切正常,但现在我想将更改向后应用到表格视图,但这不起作用。

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

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

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

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

任何帮助将不胜感激,

一月

【问题讨论】:

  • 注册通知,使用 NSNotificationCenter 并在调用的 userInfo 参数中传递新值及其位置。
  • 调用视图控制器的方法并告诉它更改您想要更改的内容。
  • 所以,你的意思是,我在 tableview 中编写了一个方法来更改索引处的数据,然后在传递参数索引和值的同时从详细视图调用此方法?

标签: objective-c ios nsmutablearray


【解决方案1】:

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

有关委托的更多信息,这里有一些教程 http://www.roostersoftstudios.com/2011/04/12/simple-delegate-tutorial-for-ios-development/ How to use custom delegates in Objective-C

Simple Delegate Example?

【讨论】:

  • 不需要一个单独的委托——只需向 VC 添加一个方法并调用它。
  • @HotLicks 这是正确的做法吗?耦合视图总是一件坏事:)
  • 不是“总是”——在这种情况下,存在明确的父子关系。并且使用委托仍然是“耦合”,只是混淆了链接。
  • 将父级传递给子级比将接口从子级传回给父级要耦合得多,您认为今天仅适用于该项目的视图控制器明天可能会变得更加通用跨度>
  • 可以,很少这样做。在此之前,委托需要进行五次修改,每一次都需要对六个文件进行更改(除非您将类设为自己的委托,这会给您一种温暖的感觉,但仍然像没有委托虚构一样紧密地结合在一起)。
【解决方案2】:

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

[eigenschappendata2 replaceObjectAtIndex:locatiehartje withObject:eigenschaphartje];

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

mtb.dataVoorMijnTabel = eigenschappendata2;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    相关资源
    最近更新 更多