내 앱에서 영역을 사용하여 데이터를 저장하고 검색합니다. 다음은 내 API 결과입니다. 이 값을 영역 데이터베이스에 저장해야합니다.iOS Swift 3 영역에 값 저장
{
"cc": [
{
"id": 142,
"firm": 2,
"specialization_id": 2,
"specialization_name": "Alternative",
"number": "234",
"title": "Push test",
"ear": "2012",
"description": "",
"status": "Open",
"open_date": "2017-05-22",
"close_date": null,
"closing_comments": null,
"type_id": 99,
"type_name": "Tax Reference",
"record_id": 57,
"record_name": "Court of India",
"type": "Court",
"other_party": [],
"billing_type": "Retainer",
"applicants": [
{
"type": "Contact",
"id": 31816,
"name": "1.Mrs V.Dhanalakshmi & Another",
"email": null,
"firm_id": 2,
"company_id": null,
"has_portal_access": false,
"mobile_number": null,
"street_address": null,
"locality": null,
"city": null,
"state": null,
"postal_code": null,
"landmark": null
}
],
}
]
}
문제는 내가 할 수 id,firm, specialisation_id,etc,.
처럼 부모 값을 저장할 수 있지만 내가 할 수없는 applicants
세부 사항과 같은 값을 저장하는 것입니다. 여기 내 노력 코드 :
import UIKit
import RealmSwift
import Realm
import ObjectMapper
class CaseResponseData: Mappable
{
var data:[CaseAreaEntity]?
//Impl. of Mappable protocol
required convenience init?(map: Map)
{
self.init()
}
func mapping(map: Map)
{
data <- map["court_case"]
}
}
//Case Details
class CaseAreaEntity:Object, Mappable
{
dynamic var id = 0
dynamic var firm_id = 0
dynamic var specialization_id = 0
dynamic var specialization_name = ""
dynamic var number = ""
dynamic var title = ""
dynamic var case_year = ""
dynamic var description2 = ""
dynamic var status = ""
dynamic var open_date = ""
dynamic var close_date = ""
dynamic var closing_comments = ""
dynamic var case_type_id = 0
dynamic var case_type_name = ""
dynamic var court_record_id = 0
dynamic var court_record_name = ""
dynamic var court_type = ""
dynamic var client_type = ""
dynamic var billing_type = ""
dynamic var referred_by = ""
var applicants = List<ApplicantsEntity>()
//Impl. of Mappable protocol
required convenience init?(map: Map)
{
self.init()
}
override static func primaryKey() -> String?
{
return "id"
}
func mapping(map: Map)
{
id <- map["id"]
firm_id <- map["firm_id"]
specialization_id <- map["specialization_id"]
specialization_name <- map["specialization_name"]
number <- map["number"]
title <- map["title"]
case_year <- map["case_year"]
description2 <- map["description"]
status <- map["status"]
open_date <- map["open_date"]
close_date <- map["close_date"]
closing_comments <- map["closing_comments"]
case_type_id <- map["case_type_id"]
case_type_name <- map["case_type_name"]
court_record_id <- map["court_record_id"]
court_record_name <- map["court_record_name"]
court_type <- map["court_type"]
client_type <- map["client_type"]
billing_type <- map["billing_type"]
referred_by <- map["referred_by"]
applicants <- map["applicants"]
}
}
//Applicants Details
class ApplicantsEntity: Object,Mappable
{
dynamic var applicant_id = 0
dynamic var applicantable_type = ""
dynamic var id = 0
dynamic var name = ""
dynamic var first_name = ""
dynamic var last_name = ""
dynamic var email = ""
dynamic var firm_id = 0
dynamic var company_id = 0
dynamic var has_portal_access = Bool()
dynamic var mobile_number = ""
dynamic var phone_number = ""
dynamic var fax = ""
dynamic var website = ""
dynamic var street_address = ""
dynamic var locality = ""
dynamic var city = ""
dynamic var state = ""
dynamic var postal_code = ""
dynamic var landmark = ""
//Impl. of Mappable protocol
required convenience init?(map: Map)
{
self.init()
}
override static func primaryKey() -> String?
{
return "id"
}
func mapping(map: Map)
{
applicant_id <- map["applicant_id"]
applicantable_type <- map["applicantable_type"]
id <- map["id"]
name <- map["name"]
first_name <- map["first_name"]
last_name <- map["last_name"]
email <- map["email"]
firm_id <- map["firm_id"]
company_id <- map["company_id"]
has_portal_access <- map["has_portal_access"]
mobile_number <- map["mobile_number"]
phone_number <- map["phone_number"]
fax <- map["fax"]
website <- map["website"]
street_address <- map["street_address"]
locality <- map["locality"]
city <- map["city"]
state <- map["state"]
postal_code <- map["postal_code"]
landmark <- map["landmark"]
}
}
해당 값이 저장되지 않기 때문에 applicant
값이 표시되지 않는 값을 가져 오는 중 오류.
let applicants = List<ApplicantsEntity>()
을 모두 클래스에 primaryKeys를 추가 :
let JSON = response.result.value
let realm:Realm = try! Realm()
let resData = Mapper<CaseResponseData>().map(JSONObject: JSON)
try! realm.write
{
realm.delete(realm.objects(CaseAreaEntity.self))
realm.add((resData?.data!)!, update: true)
//realm.create(CaseAreaEntity.self, value: (resData?.data!)!, update: true)
}
보고있는 정확한 오류 또는 현재 가지고있는 문제는 무엇입니까? 정확한 문제가 무엇인지 자세히 설명해 준다면 도움이 될 것입니다. – Aaron
@Aaron 거기에 오류가 발생하지는 않지만 지원자 값이 저장되지 않습니다. –