1
Swift 4 이전에는 코드가 완벽하게 작동했지만 간단한 JSON 파일을 파싱 중이므로 모든 것을 내 모델 클래스에 매핑하고 있습니다.Swift 4 - JSON을 구문 분석하는 동안 ObjectMapper와 관련된 문제
내 예제 코드는 다음과 같습니다.
우선 json 파일을 가져옵니다.
if let path = Bundle.main.path(forResource: "myFile", ofType: "json") { }
그럼 구문 분석 할 수 있습니다.
do {
let jsonData = try Data(contentsOf: URL(fileURLWithPath: path), options: NSData.ReadingOptions.mappedIfSafe)
let json = JSON(data: jsonData)
if let jsonZones = json["zones"].array {
let parsedZones = Mapper<Zone>().mapArray(JSONObject: jsonZones.description)
parsedZones?.forEach({ (element) -> Void in
// Do stuff...
})
}
지금은 당신이
class Zone: Object, Mappable {
@objc dynamic var code: String?
required convenience init?(map: Map) {
self.init()
mapping(map: map)
}
func mapping(map: Map) {
code <- map["code"]
}
당신은 또한이 필요합니다 내 영역 클래스 표시 할 수 있습니다 내 내 JSON 파일을 보려면 :
{
"info": {
....
....
},
"zones": [{
"code": "EN"
}],
}
parsedZones이 전무하기 때문에 나는이 충돌하고있다. 나는 nil을 검사 할 수 있지만 Swift 3에서 작업하고 Swift 4로 변환하기 전에 아무것도 수정하지 않았다는 것을 알고있다. JSON 파일에 대해서는 nil이 아니어야한다.
도움이 될만한가 있습니까?
'스위프트 4 JSONEncoder/Decoder'가 '거의 사용되지 않는 ObjectMapper'한다) – vadian
당신이 더 구체적인 @vadian 될 수 있을까? 저는 매우 흥미가 있습니다 – Balanced
Swift와 Foundation의 새로운 점에 관한 WWDC 비디오를보십시오. – vadian