gpt4 book ai didi

swiftui - 如何修复无法在 Swift 中找到文件 json

转载 作者:行者123 更新时间:2023-12-05 08:39:22 24 4
gpt4 key购买 nike

我有一个小问题,我尝试解码我​​的 json 代码,帮助我使用来自 https://www.hackingwithswift.com/quick-start/swiftui/swiftui-tutorial-building-a-complete-project 的教程,但我的问题是我的函数没有检测到我的文件,我的错误是“ fatal error :无法在包中找到 data.json”,如果有人有解决方案,请提前致谢

// File decode Json

import UIKit

extension Bundle {
func decode<T: Decodable>(_ type: T.Type, from file: String) -> T {

guard let url = self.url(forResource: file, withExtension: nil) else {
fatalError("Failed to locate \(file) in bundle.")
}

guard let data = try? Data(contentsOf: url) else {
fatalError("Failed to load \(file) from bundle.")
}

let decoder = JSONDecoder()

guard let loaded = try? decoder.decode(T.self, from: data) else {
fatalError("Failed to decode \(file) from bundle.")
}
return loaded
}
}
// File Model

import SwiftUI

struct CharacterModel: Codable, Hashable, Equatable, Identifiable{

var id:Int
var name:String
var force:Int
var spirituel:Int
var endurance:Int
var defensePhysique:Int
var defenseMagique:Int
var vitesse:Int

var mainImage: String {
name.replacingOccurrences(of: " ", with: "-").lowercased()
}

var thumbnailImage: String {
"\(mainImage)-thumb"
}

#if DEBUG
static let exemple = CharacterModel(
id: 1,
name: "Hippo",
force: 100,
spirituel: 10,
endurance: 10,
defensePhysique: 100,
defenseMagique: 100,
vitesse: 10
)
#endif

}
// My data.json
[
{
"id": 1,
"name": "Hippo",
"imageName": "Hippo",
"Endurance": 100,
"force": 10,
"Spirituel": 10,
"DefensePhysique": 100,
"DefenseMagique": 100,
"Vitesse": 10
}
]
import SwiftUI

struct ContentView: View {
let character = Bundle.main.decode([CharacterModel].self, from: "data.json")

var body: some View {
NavigationView {
List{
ForEach(character) { characters in
Image(characters.name)
}
}
.navigationBarTitle("Menu")
}
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}

最佳答案

您项目的捆绑资源中似乎缺少该文件。打开项目文件中的 Build Phases 选项卡搜索 data.json。如果什么都没有出现,则导航到Copy Bundle Resources 部分并使用位于该部分底部的 + 按钮添加文件。

enter image description here

关于swiftui - 如何修复无法在 Swift 中找到文件 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59843758/

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