我试图弄清楚如何获取用于到达当前视图控制器的 segue 标识符的名称。例如,假设我有 viewcontroller 的 A、B 和 C。A 和 B 都有一个与 C 相连的按钮。当 C viewcontoller 加载时,我如何知道我之前从哪个视图控制器开始运行?
谢谢
我试图弄清楚如何获取用于到达当前视图控制器的 segue 标识符的名称。例如,假设我有 viewcontroller 的 A、B 和 C。A 和 B 都有一个与 C 相连的按钮。当 C viewcontoller 加载时,我如何知道我之前从哪个视图控制器开始运行?
谢谢
向视图控制器添加sourceSegueId
类型属性,并在源视图控制器NSString*
的每个方法中设置它:prepareForSegue
在您的目标控制器中:
@property (nonatomic, readwrite) NSString *sourceSegueId;
在每种prepareForSegue
方法中:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
[segue.destinationViewController setSourceSegueId:segue.identifier];
}
使用此代码,您可以检查sourceSegueId
目标视图控制器内的属性,以了解控制器从哪个 segue 打开。