gpt4 book ai didi

ios - 将图像从 asset.xcassets 加载到 imageArray 中,并将其动态加载到 UIImageView 中,该 UIImageView 存在于 UICollectionView 中 - swift

转载 作者:行者123 更新时间:2023-11-30 13:15:14 27 4
gpt4 key购买 nike

我正在尝试将 Assets 中的一组图像加载到 UICollectionview 中存在的 ImageView 中,但每当我运行应用程序时它都会显示错误。而且也没有显示图像。

我在ViewDidLoad中使用的代码是,

var logoImage: [UIImage] = [
UIImage(named: "bakery")!,
UIImage(named: "baby")!,
UIImage(named: "frozen")!,
UIImage(named: "beauty")!,
UIImage(named: "cereal")!,
UIImage(named: "dairy")!,
UIImage(named: "drinks")!,
UIImage(named: "fruitsAndVeg")!,
]

cellForItemAtIndexPath 中的代码是,

cell.descImage.image = self.logoImage[indexPath.item]

当我运行应用程序时,出现错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

var logoImage: [UIImage] = [
UIImage(named: "bakery")!,

P.S.I 将图像从另一个项目导入到 xcassets 中,现在这会成为问题吗?

代码在上面的行处中断。任何帮助将不胜感激!

最佳答案

当使用!时,你会解开一个可选值,这意味着你告诉编译器:我知道图片不是nil。因此,如果您对编译器撒谎,则会收到以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

如果该行:

var logoImage: [UIImage] = [
UIImage(named: "bakery")!,

数组中的任何图片都可能丢失,但这会破坏您的程序。

您可以尝试使用条件语句加载单个图像来定位您的问题,并更好地设计您的代码:

  1. 创建空 UIImage 数组
  2. 使用图像名称创建字符串数组
  3. 使用 while 循环 Strings 数组来解开图像

    var logoImage = [UIImage]() //1 
    var names: [String] = ["bakery",...] //2

    //3
    for imageName in names{
    if let image = UIImage(named: imageName) {
    logoImage.append(image)
    }
    else {
    print("image named: \(imageName) is missing")
    }
    }

关于ios - 将图像从 asset.xcassets 加载到 imageArray 中,并将其动态加载到 UIImageView 中,该 UIImageView 存在于 UICollectionView 中 - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38300311/

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