如何在数据模型中创建警报,并在 ViewController 中将其作为参数调用
Posted
技术标签:
【中文标题】如何在数据模型中创建警报,并在 ViewController 中将其作为参数调用【英文标题】:How to create an alert in your Data Model, and call it in your ViewController as a parameter 【发布时间】:2018-02-01 22:34:36 【问题描述】:目前我正在尝试在模型类中添加警报。我将 ViewController 添加为参数,所以这样做
viewController.present(alertView, animated: true)
看起来有点像
class DataClass
func addAlert(viewController: UIViewController)
if let message = message
let alertView = UIAlertController(title: "Error", message: message, preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: .default)
alertView.addAction(okAction)
viewController.present(alertView, animated: true)
然后在我的 ViewController 中
class mainVC: UIViewController
var mainVCVar: mainVC?
override func viewDidLoad()
super.viewDidLoad()
addAlert(viewController: mainVCVar)
我明白了:
意外返回 nil。
是否可以在同一个视图控制器中调用我自己的视图控制器?
【问题讨论】:
【参考方案1】:您传递的视图控制器与调用函数的视图控制器不同。它是 nil,因为该视图控制器没有被实例化。
改为这样做:
addAlert(viewController: self)
【讨论】:
【参考方案2】:首先,您需要一个 DataClass 对象。 其次,您需要在当前视图控制器上呈现警报,即自我
class mainVC: UIViewController
var mainVCVar: mainVC?
var dataClass = DataClass()
override func viewDidLoad()
super.viewDidLoad()
dataClass.addAlert(viewController: self)
【讨论】:
以上是关于如何在数据模型中创建警报,并在 ViewController 中将其作为参数调用的主要内容,如果未能解决你的问题,请参考以下文章