Как обработать необязательное значение, связанное с UILabel.text - swift - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть одно приложение просмотра. UIViewController загружает файл, а второй UIViewController действует как пользовательское всплывающее окно. Первый viewcontroller отправляет уведомления о ходе загрузки наблюдателю во всплывающем окне. Мое приложение случайно падает во втором viewcontroller в строке, указанной ниже. Я не знаю, как справиться с развертыванием этой опции значение

пользовательское всплывающее окно UIViewController:

@IBOutlet weak var txtLabelOutlet: UILabel!

 override func viewDidLoad() {
    super.viewDidLoad()

    createUploadFinishObserver()
}


 func createUploadObserver(){
    NotificationCenter.default.addObserver(forName: notifcationName, object: nil, queue: OperationQueue.main) { (notification) in

        guard
            var arrayN = notification.userInfo as? [String:Double],
            let num = arrayN["progress"] else{
                print("no valid data")
                return
        }
        // UPDATE PROGRESS BAR
        let progress = Float.init(num)
        self.progressOutlet.progress = progress

        // UPDATE LABEL
        let percent = Int(progress*100)

        if self.txtLabelOutlet.text != nil{
            self.txtLabelOutlet.text = "\(percent)%" // CRASHES HERE 'Fatal error: Unexpectedly found nil while unwrapping an Optional value'
        }
    }
}

1 Ответ

0 голосов
/ 05 сентября 2018

Похоже, что ваше свойство ярлыка еще не существует. Вы уверены, что он связан с тем, что находится в вашей раскадровке?

Если вы откроете редактор-помощник, находясь на доске с историями, вы сможете перетащить пузырьки рядом с вашей розеткой в ​​поле зрения.

enter image description here

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