И только я выполняю делегированный шаблон. Я создал простое приложение, в котором делегат отправляет сообщение UIViewController, говоря, что если вы остановите или запустите UIActivityIndicatorView. К сожалению, я получаю следующую ошибку: ошибка atal: неожиданно найдено nil при развертывании необязательного значения. Казалось бы, что UIActivityIndicatorView не инициализирован. Я не могу понять, где я ошибаюсь.Ошибка делегата и UIActivityIndicatorView
protocol ProgressBarDelegate {
func UpdateProgressBar(progress: Bool)
}
class Dao: NSObject {
var delegate: ProgressBarDelegate?
override init() {
super.init()
//DELEGATO
//I who should I send the message? to FirstViewController
let messaggero = FirstViewController()
self.delegate = messaggero
scriviUnMessaggio(progress: true)
}
func scriviUnMessaggio(progress: Bool){
print("I'm writing a message ...")
delegate?.UpdateProgressBar(progress:progress)
}
Мой контроллер
class FirstViewController: UIViewController,ProgressBarDelegate {
@IBOutlet var activity: UIActivityIndicatorView!
func UpdateProgressBar(progress: Bool){
print("I received the message from Dao class (the delegate)")
switch progress{
case true:
// At this point I get the following error:Fatal error: unexpectedly found nil while unwrapping an Optional value
self.activity.startAnimating()
case false:
self.activity.stopAnimating()
default:
self.activity.startAnimating()
}
}
override func viewDidLoad() {
super.viewDidLoad()
let dao = Dao()
/// dao.caricamentoDati()
Вы подсоединили выходной вид деятельности? – rmaddy
(да) компонент правильно подключен в моей раскадровке – Diego
По-видимому, иначе вы бы не получили ошибку. Поместите точку останова на строку 'self.activity.startAnimating()', и вы обнаружите, что 'self.activity' является' nil'. – rmaddy