【问题标题】:Opening a view from a custom class Swift IOS从自定义类 Swift IOS 打开视图
【发布时间】:2015-01-23 08:52:26
【问题描述】:

我有这个问题:

我有一个名为 CoredataAction 的自定义类

在这个课程中,我完成了所有的 CoreData 操作,它不是 UIViewController

如何从我的CoreDataAction 班级打开视图?

我尝试打开故事板,但没有成功!它给了我一个 bad_access 错误

【问题讨论】:

  • “从我的CoreDataAction 班级打开一个视图”是什么意思?
  • 展示一个视图控制器。所以根据结果加载一个新的视图。
  • 您是否从初始 ViewController 调用了您的 CoredataAction 类?
  • 是的,只是存在一些流量控制,所以它不是第一种方法
  • @Twizzler 通常,您已经在某处实例化了CoreDataAction,这可能在控制实例wrt(用户)操作的UIViewController 内。所以你可以从那里创建视图或内容。

标签: ios swift uiviewcontroller storyboard


【解决方案1】:

一种解决方案是在您的 CoredataAction 类中添加一个变量来保存初始 ViewController,只需确保在初始化 CoredataAction 类时设置该变量即可。

CoredataAction

class CoredataAction {
    var parentViewController:UIViewController!

    func presentNewViewController() {
        let newViewController = parentViewController.storyboard?.instantiateViewControllerWithIdentifier("YOUR STORYBOARD ID") as UIViewController
        parentViewController.presentViewController(newViewController, animated: true, completion: nil)
    }
}

视图控制器

func initCustomClass() {
    var coreData = CoredataAction()
    coreData.parentViewController = self
}

另一种选择是使用协议将视图呈现委托给ViewController 类本身。这将是与上述非常相似的设置,它只是意味着视图呈现逻辑可以被排除在您的 CoredataAction customClass 之外 - 如果您想要这样的示例,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2018-09-16
    • 2022-08-09
    • 1970-01-01
    • 2020-11-29
    • 2018-04-22
    • 2012-01-03
    相关资源
    最近更新 更多