Segues 的 Upcast ViewControllers
Upcast ViewControllers for Segues
我有两个视图,A 和 B,都继承自 C。
在情节提要中,我将 UIViewController
定义为类型 C。
另一个视图,比方说 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 是初始化的,pushed/presented/embedded 当你执行你的 segues 时。
您需要在故事板中创建两个不同的 ViewControllers A 和 B。他们可以与您的 C.swift 文件建立一些 IBOutlet/IBAction 联系。
我有两个视图,A 和 B,都继承自 C。
在情节提要中,我将 UIViewController
定义为类型 C。
另一个视图,比方说 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 是初始化的,pushed/presented/embedded 当你执行你的 segues 时。
您需要在故事板中创建两个不同的 ViewControllers A 和 B。他们可以与您的 C.swift 文件建立一些 IBOutlet/IBAction 联系。