Я пытаюсь вызвать свою функцию из другого класса в мой новый класс. оригинальный код функции и класс отображаются ниже:Вызов функции из другого класса в Swift 2.1
class ViewController: UIViewController {
func displayAlert(title: String, message: String) {
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction((UIAlertAction(title: "OK", style: .Default, handler: { (action) -> Void in
//self.dismissViewControllerAnimated(true, completion: nil)
})))
self.presentViewController(alert, animated: true, completion: nil)
}
}
Я пытаюсь вызвать функцию отображения оповещения в этом классе, как так:
class logInViewController: UIViewController{
var loginError = ViewController().displayAlert("error", message: "What is wrong")
print(loginError)
or
ViewController().displayAlert("error", message: "What is wrong")
}
При выполнении кода он не отображает оповещения. Но если я тащу в функциональном блоке из исходного класса ViewController Затем я могу назвать
displayAlert("error", message: "Some Message")
С не проблемой предупреждение приходит. Не уверен, что я делаю неправильно. Я читал другие статьи о переполнении стека, но я постоянно сталкиваюсь с той же проблемой, не обнаруживая предупреждения.
Я удивлен, что вы не получили сообщение об ошибке «вид не в иерархии окон» в качестве подсказки. –