This is an example of a json object,
Thanks for showing the example, but unfortunately, it is shown in plist-like format, not JSON text. That may lose some info compared to the original JSON text.
When you want to get the original JSON text, you may need to put a print statement after guard let data = data else {...}:
//...
guard let data = data else {
print("data is nil")
return
}
print(String(data: data, encoding: .utf8) ?? "*Unknown encoding*")
//...
But as far as I can see, there is no entry for key JerseyNumber in the example.
Isn't it Jersey that you want to get as an Int64?
struct ApiCurrentPlayers: Decodable {
//Using Capitalized names to make this `Decodable` easily
var PhotoUrl: String?
var FirstName: String?
var LastName: String?
var Position: String?
var Team: String?
var YahooName: String?
var Status: String?
var Jersey: Int64? //Fit the property name to the key name of the JSON
}
extension CurrentPlayers {
convenience init?(context: NSManagedObjectContext, apiCurrentPlayers: ApiCurrentPlayers) {
guard let yahooName = apiCurrentPlayers.YahooName else {
return nil
}
guard let jerseyNumber = apiCurrentPlayers.Jersey else { //-
return nil
}
self.init(context: context)
self.photoUrl = apiCurrentPlayers.PhotoUrl ?? ""
self.firstName = apiCurrentPlayers.FirstName ?? ""
self.lastName = apiCurrentPlayers.LastName ?? ""
self.position = apiCurrentPlayers.Position ?? ""
self.team = apiCurrentPlayers.Team ?? ""
self.yahooName = yahooName
self.status = apiCurrentPlayers.Status ?? ""
self.jerseyNumber = jerseyNumber
}
}
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: