oke, я пытаюсь загрузить файл JSON (что я и сделал), но я не могу понять, как отредактировать файл. Я пытаюсь изменить логическое значение с ложного на истинное. Я пробовал довольно много методов, и ни один из них не работает с настройкой, которую я получил. Вот версия моего кода: file1 (SpotsData.swift):
import Foundation
struct SpotsData: Codable{
var spot_id: Int
var spot_name: String
var spot_long: Double
var spot_lat: Double
var spot_complete : Bool
}
file4 (ViewController.swift) есть больше кода, но это то, что имеет отношение
class ViewController: UIViewController {
override func viewDidLoad() {
let data = DataLoader().spotsData //loads the data
print(data) //shows the data
print(data[1].spots_complete)//the thing I want to change(prints false)
}
file5 (DataLoader.swift) // это то, что загружает мои данные
import Foundation
public class DataLoader{
@Published var spotsData = [SpotsData]()
init(){
load()
sort()
}
func load(){
if let fileLocation = Bundle.main.url(forResource: "spots", withExtension: "JSON"){
do{
let data = try Data(contentsOf: fileLocation)
let jsonDecoder = JSONDecoder()
let dataFromJson = try jsonDecoder.decode([SpotsData].self, from: data)
self.spotsData = dataFromJson
}
catch{
print(error)
}
}
}
func sort(){
self.spotsData = self.spotsData.sorted(by:{$0.spot_id < $1.spot_id})
}
}
file6 (spot. JSON) // мои данные [long и lat имеют данные, но для этого равны 0]
[
{
"spot_id" : 0,
"spot_name" : "windmill",
"spot_lat" : 00000,
"spot_long" : 00000,
"spot_complete" : false
},
{
"spot_id" : 1,
"spot_name" : "rock",
"spot_lat" : 0000,
"spot_long" : -0000,
"spot_complete" : false
},
{
"spot_id" : 2,
"spot_name" : "patio",
"spot_lat" : 000,
"spot_long" : -000,
"spot_complete" : false
},
{
"spot_id" : 3,
"spot_name" : "dogging",
"spot_lat" : 000,
"spot_long" : -0000,
"spot_complete" : false
}
]
У меня также есть appDelegate и sceneDelegate, но они не были изменены для этого проекта. Я пытался найти способ обновить их так же, как в обратном порядке, чтобы я мог сохранить [1] .spots_complete = true. Тогда он будет иметь файл, имея другие функции в других разделах или файлах, как я ранее. Любая помощь была бы большой, спасибо, я застрял на этом некоторое время. Большое спасибо:)