将 ViewController 分配给 Class,反之亦然

Posted

技术标签:

【中文标题】将 ViewController 分配给 Class,反之亦然【英文标题】:Assign ViewController to Class or vice versa 【发布时间】:2015-09-13 22:51:54 【问题描述】:

我是 Swift 的新手,我开始使用 ResearchKit。 我创建了一个自定义类,它基本上是模型,我想将它与(也是自定义的)viewController 连接起来。

在 API 中我发现了这个。

要在您的应用中显示一个活动步骤,您可能会继承 ORKActiveStep 和 ORKActiveStepViewController 来显示自定义 UI 和自定义提示。例如子类,请参阅 ORKSpatialSpanMemoryStep 或 ORKFitnessStep。活动步骤可能还需要 ORKResult 子类来记录它们的结果,如果它们不是纯粹来自记录器的话。

我的问题是: 我如何告诉/分配视图控制器类? 没有“setViewController”方法。

【问题讨论】:

【参考方案1】:

当 ORKTaskViewController 在任务中找到步骤时,它会为您的步骤实例化正确的步骤视图控制器。它有两种方法可以做到这一点。

首先是咨询你step的+ (Class)stepViewControllerClass类方法。如果您编写自定义步骤类,请覆盖该类方法以指定任务视图控制器默认为该类型步骤实例化的步骤视图控制器类。

第二种是实现任务视图控制器委托的-taskViewController:viewControllerForStep:方法,当任务视图控制器遇到你的步骤时,实例化一个正确类型的步骤视图控制器。如果你从这个方法返回一个非零值,它会覆盖上面列出的默认值。

【讨论】:

你能给我一个示例代码吗?我是 swift 新手。

以上是关于将 ViewController 分配给 Class,反之亦然的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在不将 ViewController 对象推入其中的情况下将对象分配给 `UINavigationController`。

将字典分配给类对象

无法将“String”类型的值分配给“UILabel”类型

如何将图片分配给 UIImageView (Swift 3)

将图像转移到下一个 ViewController (Swift)

尝试在 2 个控制器之间传递数据时,我收到错误无法分配类型“ViewController.Item?”的值键入“项目?”,