如何从 ViewController 中找到 navigationController 的标识符?
How to find the identifier of the navigationController from a ViewController?
我在标签栏控制器中有两个导航控制器,它们指向同一个视图。这在 2 个不同的选项卡中为我提供了该视图的 2 个不同实例。现在我希望视图根据其父导航控制器表现不同。
if id == "parent1"{
//do something
} else {
//do something else
}
那么如何获取ViewController
代码中navigationController
的标识符呢?
可以使用故事板中设置的restorationIdentifier
;它就在身份检查器中故事板标识符字段的下方。
从视图控制器的 属性
获取当前导航控制器
let id = self.navigationController.restorationIdentifier
请注意,通过设置此 属性,您是在告诉系统应保存视图控制器以供恢复,这可能会产生意想不到的后果。参见 documentation。
或者,您可能需要考虑在视图控制器 class 上使用子classes 或某种 属性(例如,可能使用 IBInspectable 等)。
我在标签栏控制器中有两个导航控制器,它们指向同一个视图。这在 2 个不同的选项卡中为我提供了该视图的 2 个不同实例。现在我希望视图根据其父导航控制器表现不同。
if id == "parent1"{
//do something
} else {
//do something else
}
那么如何获取ViewController
代码中navigationController
的标识符呢?
可以使用故事板中设置的restorationIdentifier
;它就在身份检查器中故事板标识符字段的下方。
从视图控制器的 属性
获取当前导航控制器let id = self.navigationController.restorationIdentifier
请注意,通过设置此 属性,您是在告诉系统应保存视图控制器以供恢复,这可能会产生意想不到的后果。参见 documentation。
或者,您可能需要考虑在视图控制器 class 上使用子classes 或某种 属性(例如,可能使用 IBInspectable 等)。