从自定义打开视图 class Swift IOS
Opening a view from a custom class Swift IOS
我有这个问题:
我有一个名为 CoredataAction
的自定义 class
在这个 class 中,我执行了所有 CoreData 操作,它不是 UIViewController
。
如何从我的 CoreDataAction
class 打开视图?
我试过打开情节提要但没有成功!它给我一个 bad_access 错误
一个解决方案是在 CoredataAction
class 中添加一个变量来保存初始 ViewController
,只需确保在初始化 CoredataAction
时设置该变量] class.
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)
}
}
ViewController
func initCustomClass() {
var coreData = CoredataAction()
coreData.parentViewController = self
}
另一种选择是使用协议将视图表示委托回 ViewController
class 本身。这将是一个与上面非常相似的设置,它只是意味着视图表示逻辑可以被排除在你的 CoredataAction
customClass 之外 - 如果你想要一个这样的例子,请告诉我。
我有这个问题:
我有一个名为 CoredataAction
在这个 class 中,我执行了所有 CoreData 操作,它不是 UIViewController
。
如何从我的 CoreDataAction
class 打开视图?
我试过打开情节提要但没有成功!它给我一个 bad_access 错误
一个解决方案是在 CoredataAction
class 中添加一个变量来保存初始 ViewController
,只需确保在初始化 CoredataAction
时设置该变量] class.
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)
}
}
ViewController
func initCustomClass() {
var coreData = CoredataAction()
coreData.parentViewController = self
}
另一种选择是使用协议将视图表示委托回 ViewController
class 本身。这将是一个与上面非常相似的设置,它只是意味着视图表示逻辑可以被排除在你的 CoredataAction
customClass 之外 - 如果你想要一个这样的例子,请告诉我。