У меня в Swift есть такая функция:
@IBAction func doSomething(_ sender: AnyObject) { }
Мне нужно, чтобы sender
был типа NSMenuItem
, поэтому я проверяю его с помощью охранника:
guard let menuItem = sender as? NSMenuItem else { return }
Но это молча позволит приложению продолжаться, если в моей логике приложения есть серьезная ошибка, приводящая к передаче другого типа объекта.
Не лучше ли просто вывести приложение из строя, а не «подарить» пользователю таинственно нерабочую функцию?
Как лучше всего проверить и отреагировать на эти сверхосновные предположения?