2

好的,所以我对 XCode 和 IOS 很陌生,但基本上我所拥有的是:

我有一个拆分视图控制器,用于在我的应用程序中显示少量关于左侧(在主视图控制器中)的景点或位置的基本信息,并向用户提供选项/评论/或其他选项详细视图控制器。

现在我正在尝试做的事情: - 当用户从详细视图中动态生成的景点表中选择一个景点时,我希望它不仅触发一个在详细视图中显示更多信息的segue,而且还触发一个segue在主视图中更改为景点的简短说明。

有人知道我会怎么做吗?我正在使用 Xcode 5

谢谢您的帮助

截图可以在这里找到:

4

1 回答 1

0

有很多方法可以解决这个问题,但最好的方法可能是实现一个自定义协议委托范例,该范例将在您的主视图中触发一段代码,然后在该视图中调用一个 segue。

这个问题中有一个关于导航堆栈的类似问题,但它也适用于并发控制器:

如何设置一个简单的委托来在两个视图控制器之间进行通信?

以下是 Apple 关于协议的基础知识:

https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols.html

简而言之,您将在主视图中定义一个协议,其中一种方法根据详细视图中的选定单元格调用 segue,您可能也会通过该方法传递位置模型。

@protocol LocationDelegate

- (void)didSelectLocation:(MyLocation *)location;

@end

您的景点表将有一个委托属性指向您将在创建时设置的主视图。

@property (nonatomic, weak) id <LocationDelegate> *delegate;

当您在景点表中选择一个单元格时,您将调用委托方法来实现它的魔力。

[self.delegate didSelectLocation:location];
于 2013-10-22T15:29:15.007 回答