swift2 如何从ViewController中找到navigationController的标识符?

pqwbnv8z  于 2022-11-06  发布在  Swift
关注(0)|答案(1)|浏览(177)

我在一个选项卡栏控制器中有两个导航控制器指向同一个视图。这给了我在两个不同的选项卡中该视图的两个不同示例。现在我希望该视图根据其父导航控制器有不同的行为。

if id == "parent1"{
    //do something
} else {
    //do something else
}

那么,如何在ViewController代码中获得navigationController的标识符呢?

zphenhs4

zphenhs41#

你可以使用restorationIdentifier,你可以在故事板中设置它;它位于身份检查器中故事板标识符字段的正下方。
从视图控制器的属性获取当前导航控制器

let id = self.navigationController.restorationIdentifier

请注意,通过设置此属性,您将告知系统应保存视图控制器以进行恢复,这可能会产生意外的结果。请参阅documentation
或者,您可能希望考虑在视图控制器类上使用子类或某种属性(例如,可能使用IBInspectable等)。

相关问题