gpt4 book ai didi

json - 为什么我的文本没有添加到我的标签中?

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

修改后的帖子:所以下面发布的代码是我的结构

 struct AnimeJsonStuff: Decodable {
let data: [AnimeDataArray]
}

struct AnimeLinks: Codable {
var selfStr : String?

private enum CodingKeys : String, CodingKey {
case selfStr = "self"
}
}
struct AnimeAttributes: Codable {
var createdAt : String?
var slug : String?
private enum CodingKeys : String, CodingKey {
case createdAt = "createdAt"
case slug = "slug"
}
}
struct AnimeRelationships: Codable {
var links : AnimeRelationshipsLinks?

private enum CodingKeys : String, CodingKey {
case links = "links"
}
}

struct AnimeRelationshipsLinks: Codable {
var selfStr : String?
var related : String?

private enum CodingKeys : String, CodingKey {
case selfStr = "self"
case related = "related"
}
}

struct AnimeDataArray: Codable {
let id: String?
let type: String?
let links: AnimeLinks?
let attributes: AnimeAttributes?
let relationships: [String: AnimeRelationships]?

private enum CodingKeys: String, CodingKey {
case id = "id"
case type = "type"
case links = "links"
case attributes = "attributes"
case relationships = "relationships"
}
}

这段代码是我解析数据的函数:

    func jsonDecoding() {

let jsonUrlString = "https://kitsu.io/api/edge/anime"

guard let url = URL(string: jsonUrlString) else {return}
URLSession.shared.dataTask(with: url) { (data, response, err) in
guard let data = data else {return}
do {
let animeJsonStuff = try JSONDecoder().decode(AnimeJsonStuff.self, from: data)
for anime in animeJsonStuff.data {
// print(anime.id)
// print(anime.type)
// print(anime.links?.selfStr)
let animeName = anime.attributes?.slug
print(animeName)
DispatchQueue.main.async {
self.nameLabel.text = animeName
}

for (key, value) in anime.relationships! {
// print(key)
// print(value.links?.selfStr)
// print(value.links?.related)
}
}
} catch let jsonErr {
print("Error serializing json", jsonErr)
}
}.resume()
}

这是控制台打印出来的内容:

Optional("cowboy-bebop")
Optional("cowboy-bebop-tengoku-no-tobira")
Optional("trigun")
Optional("witch-hunter-robin")
Optional("beet-the-vandel-buster")
Optional("eyeshield-21")
Optional("honey-and-clover")
Optional("hungry-heart-wild-striker")
Optional("initial-d-fourth-stage")
Optional("monster")
Optional("cowboy-bebop")
Optional("cowboy-bebop-tengoku-no-tobira")
Optional("trigun")
Optional("witch-hunter-robin")
Optional("beet-the-vandel-buster")
Optional("eyeshield-21")
Optional("honey-and-clover")
Optional("hungry-heart-wild-striker")
Optional("initial-d-fourth-stage")
Optional("monster")
Optional("cowboy-bebop")
Optional("cowboy-bebop-tengoku-no-tobira")
Optional("trigun")
Optional("witch-hunter-robin")
Optional("beet-the-vandel-buster")
Optional("eyeshield-21")
Optional("honey-and-clover")
Optional("hungry-heart-wild-striker")
Optional("initial-d-fourth-stage")
Optional("monster")

它现在显示文本,但当我有三个单元格时,它只显示最后一个名为“monster”的 optional ,而不显示所有其他选项。它只在每个单元格中显示怪物。应该是

第一个单元:牛仔贝波普第二格:牛仔-波普-天国-诺-托比拉第三格:三枪等等

最佳答案

  1. 我看不到您在哪里设置 post 变量。
  2. 您将 nambeLabel 放入 Controller 的 View 层次结构中的什么位置?
  3. 也许你应该在主线程中设置nameLabel.text:

    DispatchQueue.main.async {
    self.nameLabel.attributedText = attributedText
    }

关于json - 为什么我的文本没有添加到我的标签中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46409002/

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