【问题标题】:best way to pass core data values传递核心数据值的最佳方式
【发布时间】:2014-08-03 03:19:54
【问题描述】:

我正在开发一个带有三个视图控制器的高尔夫比分记录应用程序。 第一个视图控制器是一个表格视图控制器,您可以通过添加回合按钮进行每一轮比赛。当您单击一个高尔夫球轮(单元格)时,它会将您带到一个新的视图控制器,该控制器具有与该轮的每个洞相关的 18 个按钮。当您单击一个洞按钮(即第 1 洞)时,它会将您推到一个新的第三个视图控制器,您可以在其中记录值,例如该洞的标准杆、码数,然后还有文本字段来输入每个球员的得分(所有这些都通过核心数据存储)。

这是我的困境。我使用核心数据来持久化所有数据。我很好奇用我的第一个视图控制器的信息填充我的第三个视图控制器上的文本标签的最佳方法。现在我正在使用 prepareForSegue 函数来创建新视图控制器的实例,然后通过 prepareForSegue 函数设置新视图控制器的属性。

这很有效。但是,当我到达第三个视图控制器时,我想用与该轮对应的一些数据填充我的一些字段。而且因为第三个 VC 不是表视图,所以我不知道如何确保它从正确的相应 indexPath 中获取正确的数据。现在我只是通过第二个 VC 中的属性从 tableview 传递值,然后再次将这些属性传递给第三个 VC。如果我不在 tableview VC 上,有没有办法只在特定索引路径上执行获取请求?

我希望这是有道理的。

【问题讨论】:

    标签: core-data tableview fetch


    【解决方案1】:

    您的数据结构可能看起来像这样(或应该):

    Course (.rounds) <------>> Round (.course)
    Round   (.holes) <------>> Hole  (.round)
    

    您按下孔列表中的一行,只需将选择 Hole 传递给最终视图控制器。如果您需要来自任何上级实体的任何信息,只需使用点符号即可。

    NSString *nameOfCourse = self.hole.round.course.name;
    

    无需获取,无需与任何其他视图控制器通信!这有多膨胀?

    【讨论】:

    • 感谢 mundi 生病继续尝试实现这一点。
    猜你喜欢
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 2012-06-16
    • 2012-10-12
    • 1970-01-01
    • 2016-12-03
    相关资源
    最近更新 更多