Ios 正在尝试初始化图像

Ios 正在尝试初始化图像,ios,swift,Ios,Swift,我用3个变量为我的数据创建了一个新类和init方法。一个是UIImage。似乎无法在“我的资产”文件夹中找到图像 我尝试了UIimage(命名为:String) 下面是我的代码 class DataForMeals { var mealName: String var mealImage: UIImage var description: String init(mealName: String, mealImage: UIImage, descript

我用3个变量为我的数据创建了一个新类和init方法。一个是
UIImage
。似乎无法在“我的资产”文件夹中找到图像

我尝试了
UIimage(命名为:String)

下面是我的代码

    class DataForMeals {
    var mealName: String
    var mealImage: UIImage
    var description: String

    init(mealName: String, mealImage: UIImage, description: String) {
        self.mealImage = mealImage
        self.mealName = mealName
        self.description = description
    }

class func mealData() ->[DataForMeals] {
        var meal: [DataForMeals] = []

        let meal1 = DataForMeals(mealName: "", mealImage: UIImage(named: ""),description: "")


它应该按名称查找图像。

而不是as
imageName
中的
空字符串(“”
),在创建
UIImage
对象时,您需要给出驻留在
资产中的实际
图像的名称。xcassets

示例:

要从
资产
获取
图像1
,您需要使用:

UIImage(named: "image1") 
名称
与资产中图像的
名称完全匹配

编辑-1:

UIImage init()
是一个
可失败的初始化器
,因此它
返回
一个
可选UIImage
对象,即
UIImage?
。因此,在使用
图像之前,您需要
展开
图像,即

if let image = UIImage(named: "frenchtoast") {
    let meal1 = DataForMeals(mealName: "French Toast", mealImage: image,description: "recipe")
}

您可以使用它从资源调用映像

UIImage(named: "image1")
在您的情况下,需要传递图像名称

let meal1 = DataForMeals(mealName: "Roti", mealImage: UIImage(named: "name1"),description: "Afternoon Meal")

UIImage(命名:”)
您的图像没有名称?
mealName
mealImage
的名称相同吗?如果
mealName
xyz
,是否要获取名为
xyz
UIImage(名为:)
的图像应为
UIImage(名为:“whateveryourmageiscalled”)
此名称应与资产文件夹中定义的名称相同,无任何扩展名Hey@ReinierMelian我尝试过,仍然抛出一个错误并强迫我打开。尝试了其他方法强制展开,但这会使附加数组变得困难。您需要在类中添加此行
import UIKit
。如果没有import语句,您无法使用UIKit中的类,请告诉我这是否解决了您的问题,以便作出响应。我确实有一个文件名,我只是把它去掉了,因为它暗示了这个项目是关于什么的。但这也不行。请检查所附图片。更新答案。调查一下。如果它对你有用,请接受(在左边打勾)。快乐编码嘿@PGDev,我正在做所有的事情,但它仍然不工作。请检查所附的图片。