gpt4 book ai didi

ios - Swift 类 Data 和 UITableViewController 运行时错误

转载 作者:行者123 更新时间:2023-11-30 11:30:43 24 4
gpt4 key购买 nike

我遇到运行时错误。我刚读过“使用 Swift 进行应用程序开发”

"Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value"

请帮忙,我已经熟悉 if let 条件绑定(bind),但不确定在这种情况下我必须在哪里使用它才能显示我的 UIImage 。

对于 swift 和 IOS 来说仍然是全新的标识符已设置, Storyboard上的 tableViewController 也设置为 MammaSitaTableViewController

我可以让文本属性本身显示在屏幕上,但前提是我取消图像属性。

class MammaSitaTableViewController: UITableViewController {

var mammaSitas : [MammaSita] =
[
MammaSita(name: "Megan Fox", photo: UIImage(contentsOfFile: "Megan.jpg")! ),
MammaSita(name: "Scarlet Johanson", photo: UIImage(contentsOfFile: "Scarlet.jpg")! ),
MammaSita(name: "Bella Hadid", photo: UIImage(contentsOfFile: "Bella.jpg")! )

] // end of delcared array mammaSitas
}


// MARK: - Table view data source
//numberOfSections Optional
override func numberOfSections(in tableView: UITableView) -> Int {

return 1
}

//
// numberOfRowsInSection manditory to use dataSource
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

if section == 0 {
return mammaSitas.count
} else {
return 0
}

}

//
// cellForRowAtIndexPath manditory to us dataSource
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

//1 dequeueReusableCell
let cell = tableView.dequeueReusableCell(withIdentifier: "WomenCell", for: indexPath)

//2 fetch model object to be displayed
let mamaCita = mammaSitas[ indexPath.row ]

//3 configure cells properties
cell.textLabel?.text = "\(mamaCita.name)"
cell.imageView?.image = mamaCita.photo

//4 return cell
return cell
}

最佳答案

您可以通过以下方式使用条件绑定(bind)...

var mammaSitas = [MammaSita]()
if let img = UIImage(contentsOfFile: "Megan.jpg") {
let obj = MammaSita(name: "Megan Fox", photo: img)
mammaSitas.append(obj)
}

if let img = UIImage(contentsOfFile: "Scarlet.jpg") {
let obj = MammaSita(name: "Scarlet Johanson", photo: img)
mammaSitas.append(obj)
}

if let img = UIImage(contentsOfFile: "Bella.jpg") {
let obj = MammaSita(name: "Bella Hadid", photo: img)
mammaSitas.append(obj)
}

如果您的图像资源中有图像,那么您需要使用以下命令来获取图像。

 let img = UIImage(named: "Megan.jpg")

您正在使用 contentsOfFile: 来获取图像,因此可能应该有一个图像路径而不是图像名称(例如“Megan.jpg”)。

let img = UIImage(contentsOfFile: <#imagePath#>) //not the image name "Megan.jpg"

希望有帮助:)

关于ios - Swift 类 Data 和 UITableViewController 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50285711/

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