ios - 如何处理与 UILabel.text 关联的可选值 - swift
问题描述
我有一个单视图应用程序。UIViewController 上传一个文件,第二个 UIViewController 充当自定义弹出窗口。第一个视图控制器在弹出窗口中向观察者发送有关上传进度的通知。我的应用程序在下面指示的行中的第二个视图控制器中随机崩溃。我不知道如何处理这个选项值的展开
自定义弹出 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'
}
}
}
解决方案
推荐阅读
- laravel - 在 Vue JS 中截断和插入变量
- css - 如何将引导选项卡设置为自动宽度?
- javascript - 如何在没有用户交互的情况下自动触发
- javascript - AngularFire2 与 Firebase 实时数据库 - 嵌套数据查询 Angular 6
- php - 无法调试 Laravel HTTP 测试
- python - 将 pandas 列中的列表字符串提取为整数或浮点数
- database - 检查外键约束违规
- mysql - 对一行中的列进行总计,并将该总计添加到使用一个查询在另一个表中找到的行数中
- python - 如何逐个补丁写入 png/tiff 文件?
- javascript - React JS 导入错误 - 未找到模块:您尝试导入项目 src/ 目录之外的 ../actions