gpt4 book ai didi

ios - 通过 Segue 将数据传递给新的 ViewController

转载 作者:可可西里 更新时间:2023-11-01 00:38:54 26 4
gpt4 key购买 nike

我正在尝试通过 segue 传递一串数据。 JSON 数据已使用 JSONDecoder 解析并正确显示在控制台中。一切正常,除了当我尝试将数据传递给详细信息 ViewController 时,我要么没有收到任何数据,要么收到错误。我正在使用 prepareForSegue 来传递数据。

这是 ViewController 的代码:

var nowPlaying = [Results]()
var searchTitle = [Results]()

struct NowPlaying: Codable {
let results: [Results]
}

struct Results: Codable {
let title: String
let poster_path: String?
let id: Int
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

var films: [Results]

if searchBar.text == "" {
films = [nowPlaying[indexPath.row]]
}

print("\(films)")

performSegue(withIdentifier: "detailsSegue", sender: films)

}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "detailsSegue" {
if let detailView = segue.destination as? DetailsView {
let filmCell = sender as? Results
detailView.filmId = filmCell!.id
print("\(filmCell!.id)")
}
}
}

我在 detailView.filmId = filmCell.id 处遇到错误

Cannot assign value of type 'Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

这是为 print("\(films)") 打印到控制台的内容:

[Film_Bee.FilmsViewController.Results(title: "Venom", poster_path: 
Optional("/2uNW4WbgBXL25BAbXGLnLqX71Sw.jpg"), id: 335983)]

print("\(filmCell!.id)") 没有任何打印结果

如果在解析和选择单元格时找到它,我不确定为什么它没有在结果中找到它。

这是我在 DetailsView 中的代码:

class DetailsView: UIViewController {

let homepage = FilmsViewController()

var filmId = 0

var filmDetails = [Details]()

struct Results: Codable {
let title: String
let poster_path: String?
let id: Int
}

struct Details: Codable {
let title: String
let poster_path: String
}

override func viewDidLoad() {
super.viewDidLoad()

print(filmId)

}

最佳答案

你来定义

var films: [Results]

然后调用

performSegue(withIdentifier: "detailsSegue", sender: films)

然后投

let filmCell = sender as? Results

由于 Results 不是 [Results],这将不起作用,请决定您是想要一组 Result 还是只需要一个。

关于ios - 通过 Segue 将数据传递给新的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52726766/

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