我正在构建一个数组,该数组将在UITableView中显示图像。当我尝试在数组中调用图像时,找不到资产。我在做什么错了?
我们尝试重命名所有变量/数组。
var videos: [Video] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.view.backgroundColor = UIColor .darkmodeGray
}
func createArray() -> [Video] {
var tempVideos: [Video] = []
let video1 = Video(image: WeekOne, title: "StoryOne")
let video2 = Video(image: UIImage, title: "StoryTwo")
let video3 = Video(image: WeekThree, title: "StoryThree")
let video4 = Video(image: WeekFour, title: "StoryFour")
let video5 = Video(image: WeekFive, title: "StoryFive")
let video6 = Video(image: WeekSix, title: "StorySix")
tempVideos.append(video1)
tempVideos.append(video2)
tempVideos.append(video3)
tempVideos.append(video4)
tempVideos.append(video5)
tempVideos.append(video6)
return tempVideos
}
// IN A SEPERATE FILE
import Foundation
import UIKit
class Video {
var image: UIImage
var title: String
init(image: UIImage, title: String) {
self.image = image
self.title = title
}
}
基于图片后文字的两个不同的错误:
使用未解决的标识符“ WeekOne”
和
无法将类型“ UIImage.Type”的值转换为预期的参数类型“ UIImage”
答案 0 :(得分:0)
如果我正确理解您的要求,那么这就是您要寻找的东西。
let video1 = Video(image: UIImage(imageLiteralResourceName: "WeekOne"), title: "StoryOne")
您需要上述 UIImage 的初始化程序,才能访问添加到素材资源的图像。
上面的代码行将由您的Xcode转换为此。
let video2 = Video(image:UIImage,title:“ StoryTwo”)
如果'UIImage'是一个图像名称,建议您更改它,因为这可能会导致歧义。我猜你在那里打错了。您键入 UIImage 而不是 WeekTwo
此外,请确保已将相应的图像(WeekOne,WeekTwo,WeekThree,WeekFour,WeekFive,WeekSix)添加到资产
答案 1 :(得分:0)
要真正回答这个问题,我们需要查看WeekOne
是什么。该错误表明您尚未定义WeekOne
。该错误的问题就在那里。
第二个错误是您的Video 2行中有错字。当您想要一个变量名时,您就有了UIImage(一个类)。
let video1 = Video(image: WeekOne, title: "StoryOne")
let video2 = Video(image: UIImage, title: "StoryTwo")
此外,约定是使make变量名以小写字母开头,所有类名以大写字母开头。 WeekOne,WeekTwo等将更恰当地命名为weekOne,weekTwo等。这使得一眼就能看出每个名称是什么类型。