переменная 'alert' записывается, но никогда не читается - PullRequest
0 голосов
/ 07 июля 2019

У меня есть окно оповещения, которое возвращает ряд предупреждений, от которых у меня возникают проблемы, от которых избавляются.

let alert = UIAlertController(title: "Delete the group?", message: "The group is removed permanently", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "Cancel", style: .default, handler: { [weak alert] (_) in
    self.dismiss(animated: true, completion: nil)
}))
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { [weak alert] (_) in
    // Perform the serverside action here and dismiss
}))

self.present(alert, animated: true, completion: nil)

Обе addAction-lines возвращает предупреждение о переменной, в которую записано предупреждение, но никогда не читается. Я не понимаю, так как я использую его в «настоящей» строке в той же области видимости.

Есть идеи?

1 Ответ

0 голосов
/ 07 июля 2019

У меня есть все мои предупреждения в отдельном классе, например, так:

class AlertViewController {    
    func someAlert(with title: String?, message: String?, viewController: UIViewController) {
        let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
        let someAction = UIAlertAction(title: "Action Title", style: .default) { (_) in
            //Perform your action here
        }
        alertController.addAction(someAction)
        let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: nil)
        alertController.addAction(cancelAction)
        viewController.present(alertController, animated: true, completion: nil)
    }
}

Если вы используете style: .cancel, оно автоматически отключит предупреждение.Кроме того, в качестве лучшего UX, включая этот .cancel, пользователь также может нажимать в любом месте представления, чтобы отключить оповещение.

Вы можете вызывать это действие, где это необходимо;

AlertViewController.someAlert(with: "Title", message: "Message", viewController: self)

Самость - это UIViewController, который вы хотите представить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...