[swift] ObjectMapper를 사용하여 Swift 객체에 배열을 매핑하는 방법은 무엇인가요?
-
ObjectMapper 라이브러리를 프로젝트에 추가합니다. Xcode에서 “File” -> “Swift Packages” -> “Add Package Dependency”를 선택하여 ObjectMapper를 설치할 수 있습니다. 또는 CocoaPods 또는 Carthage를 통해 설치할 수도 있습니다.
-
매핑을 원하는 Swift 객체를 만듭니다. 예를 들어, 배열의 요소로 사용할 Book 객체를 만들어보겠습니다.
import Foundation
import ObjectMapper
class Book: Mappable {
var title: String?
var author: String?
required init?(map: Map) {}
func mapping(map: Map) {
title <- map["title"]
author <- map["author"]
}
}
- 매핑할 JSON 데이터를 가져옵니다. 이 데이터는 서버에서 받아온 API 응답이거나, 파일 등에서 읽을 수도 있습니다.
let json = """
[{
"title": "The Alchemist",
"author": "Paulo Coelho"
},
{
"title": "1984",
"author": "George Orwell"
}]
"""
- ObjectMapper를 사용하여 JSON 데이터를 매핑합니다. 배열 형태의 JSON을 매핑할 때는 ObjectMapper의
mapArray()
메서드를 사용합니다.
if let books = Mapper<Book>().mapArray(JSONString: json) {
for book in books {
print("Title: \(book.title ?? ""), Author: \(book.author ?? "")")
}
}
위 예제에서는 ObjectMapper의 mapArray()
메서드를 사용하여 JSON 데이터를 Book 객체의 배열로 매핑하였습니다. 매핑된 배열을 순회하면서 각 책의 제목과 작가를 출력하였습니다.
매핑에 성공하면, Book 객체의 배열이 생성되어 books 상수에 할당됩니다. 이후 books 배열을 순회하며 각 요소의 속성에 접근할 수 있습니다.
이처럼 ObjectMapper를 사용하여 Swift 객체에 배열을 매핑할 수 있습니다. 자세한 내용은 ObjectMapper의 문서를 참고하시기 바랍니다.