gpt4 book ai didi

swift - Segues 的 Upcast ViewControllers

转载 作者:行者123 更新时间:2023-11-28 13:59:10 25 4
gpt4 key购买 nike

我有两个 View ,A 和 B,都继承自 C。

在 Storyboard 中,我将 UIViewController 定义为 C 类型。

另一个 View ,比方说 D,有到 C 的两个 segues。

我希望能够根据相关的 segue 转换目的地:

if segue.identifier = "ToA"
{
// Load view A
}
if segue.identifier = "ToB"
{
// Load view B
}

我已经试过了,但转换失败了。可能吗?

我在 SO 上发现另一个线程说它不是,但那里有一个回复说它是可能的。我怎样才能使这个类型转换工作?

或者我应该将 A 和 B 融合在一起吗?我真的不想那样做。

最佳答案

这是不可能的,因为继承不能像这样工作。 A 和 B 也是 C。但 C 既不是 A 也不是 B。C 是在您执行转场时初始化和推送/呈现/嵌入的内容。

您需要在 Storyboard中创建两个不同的 ViewControllers A 和 B。他们可以与您的 C.swift 文件建立一些 IBOutlet/IBAction 连接。

关于swift - Segues 的 Upcast ViewControllers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53682165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com