Daha fazla ayrıntı sağlama:
Yapısında, seviyelerden birinin başında (25th_percentile) bir sayı olan bir apı'den (aşağıda bağlantılı) bir seviyeye erişmeye çalışıyorum. Modelimde bir sabit oluşturamıyorum çünkü let değerini bir sayı ile başlatamıyorum (yani, 25th_percentile içinde 25). 25. yüzdelik seviyedeki verilere nasıl erişebilirsiniz?
Kodum aşağıdaki gibidir. Enum'u önerildiği gibi kullandığımda," kod çözülebilir protokole uymuyor " hatası alıyorum.
//
// SchoolData.swift
//
//
import Foundation
struct Results: Decodable {
let results: [SelectedSchool]
}
struct SelectedSchool: Decodable, Identifiable {
let id: Int
let fed_sch_cd: String
let latest: LatestData
}
struct LatestData: Decodable {
let school: SchoolDetails
let admissions: AdmissionsDetails
}
struct SchoolDetails: Decodable {
let name: String
let school_url: String
}
struct AdmissionsDetails: Decodable {
let admission_rate: AdmissionRateDetails
let sat_scores: SATScores
}
struct SATScores: Decodable {
let midpoint: SATSubjects
let the25th_percentile: SATSubjects2
enum CodingKeys: String, CodingKey {
case the25th_percentile = "25th_percentile"
}
}
struct SATSubjects: Decodable {
let math: Int?
let writing: Int?
let critical_reading: Int?
}
struct SATSubjects2: Decodable {
let math: Int?
let writing: Int?
let critical_reading: Int?
}
struct AdmissionRateDetails: Decodable {
let overall: Float?
}
struct URLName {
let partialURL = "https://api.data.gov/ed/collegescorecard/v1/schools?school.name="
var searchTerm: String = ""
let apiKey = "&api_key=myapikey"
}