如何在数据模型中创建警报,并在 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 中将其作为参数调用的主要内容,如果未能解决你的问题,请参考以下文章

DBT 模型:如何从查询中创建变量并在 If 语句中使用它

如何在vue中创建警报确认框

如何根据失败百分比在日志字段中创建警报?

如何在运行时使用 .bmp 文件并在 Unity 中创建纹理?

是否可以在 Iphone 中创建视频警报? [关闭]

在 javascript 警报或提示中创建循环