gpt4 book ai didi

ios - 防止 App Crash incase 图像从 Xcode 重命名/删除

转载 作者:搜寻专家 更新时间:2023-10-31 23:06:41 27 4
gpt4 key购买 nike

我在我的 UIImageView 中设置了 Logo 图像并运行并且它工作正常,但如果有人错误地删除/重命名图像然后再次运行并且我的应用程序崩溃,因为 Xcode 找不到该图像。在这里我需要实现,如果由于重命名/删除而导致 Xcode 找不到此类图像,那么它不会崩溃,但应该设置一些占位符图像并且它在所有 UIImageViews 的项目中也是全局的。所以任何人都可以帮助我。提前致谢。

enter image description here

enter image description here

enter image description here

最佳答案

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)

这意味着,您可以安全地使用它。无论您的 Logo 是否存在。希望对您有所帮助!

更新:

您可以创建自己的 UIImage 类扩展来声明您的 Assets ,这样当您需要重命名 Assets 时,您只需重命名一次,更改就会生效应用于整个项目(如您所说,在全局范围内)。

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
}()

关于ios - 防止 App Crash incase 图像从 Xcode 重命名/删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001256/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com