我已经在我的UIImageView中设置了徽标图像,并且可以正常运行,但是如果有人误删除/重命名了图像,然后再次运行,并且我的应用程序崩溃是因为Xcode找不到该图像。 在这里,我需要实现的是,如果Xcode由于重命名/删除而找不到此类图像,那么它不会崩溃,但是应该设置一些占位符图像,并且对于所有UIImageViews而言,它在项目中也是全局的。 所以任何人都可以在这方面帮助我。预先感谢。
答案 0 :(得分:0)
Quoc Nguyen是正确的。您可以只使用图像文字名称。像这样:
private lazy var logoImageView: UIImageView = {
let imageView = UIImageView(image: UIImage(named: "swift_logo"))
imageView.translatesAutoresizingMaskIntoConstraints = false
return imageView
}()
UIImageView
初始化方法可以采用可选 UIImage
对象:
init(image: UIImage?)
使用名称的UIImage
初始化方法产生可选 UIImage
对象。
init?(named name: String)
这意味着您可以安全地使用它。无论您的徽标是否存在。我希望这会有所帮助!
更新:
您可以对UIImage
类进行自己的扩展来声明您的资产,因此,当需要重命名资产时,您将不得不重命名一次,并且更改将在整个过程中应用。您的项目(如您所说,在全球范围内)。
import UIKit
/// A category for handling images
extension UIImage {
// MARK: - Home Assets
static let swiftLogo = UIImage(named: "swift_logo")
}
,您可以像这样使用它:
private lazy var logoImageView: UIImageView = {
let imageView = UIImageView(image: .swiftLogo)
imageView.translatesAutoresizingMaskIntoConstraints = false
return imageView
}()