试图理解此警告:[UITabBarItem]!使用“!”这里已弃用,并将在以后的版本中删除

时间:2019-01-11 07:32:06

标签: swift

在我的代码中我有这个,但是这部分 [UITabBarItem]!引起此警告。现在,我确定它与转换有关,但是我找不到阻止它发出警告的方法。

  

使用'!'这里已弃用,并将在以后的版本中删除

override func viewDidLoad() {
    super.viewDidLoad()

    for item in self.tabBar.items as [UITabBarItem]! {
        if let image = item.image {
            item.image = image.imageWithColor(tintColor: self.normalTint).withRenderingMode(UIImageRenderingMode.alwaysOriginal)
        }
    }
}

这个问题不一样,由rmaddy解释。

1 个答案:

答案 0 :(得分:0)

我通过添加防护来确保不会崩溃:

override func viewDidLoad() {
    super.viewDidLoad()

    guard let items = self.tabBar.items else { return }
    for item in items {
        if let image = item.image {
            item.image = image.imageWithColor(tintColor: self.normalTint).withRenderingMode(UIImageRenderingMode.alwaysOriginal)
        }
    }
}