2017-01-19 3 views
0

저는 IOS 개발자의 초보자입니다. Alamofire를 사용하여 URL에서 JSON을 가져옵니다. Coredata에서 JSON을 통해 루프를 작성하려고합니다.Alamofire를 사용하여 JSON을 반복하고 신속하게 Coredata에 저장하십시오.

JSON :

[{ 
"stocks": [ 
      { 
      "growth": "29.87", 
      "stock_name": "BLA" 
      }, 
      { 
      "growth": "28.87", 
      "stock_name": "ADVANC" 
      } 
      ], 
"template_name": "stock growth more than 20 in 90 day" 
} , ........ 
] 

내 코드

var arrRes = [[String:AnyObject]]() 


    func loadJSONTemplate() { 


     Alamofire.request("http://1xx.xxx.xxx.xx/").responseJSON { response in 
      print(response.result) 
      if((response.result.value) != nil) { 
       if let data = response.result.value { 

        self.arrRes = data as! [[String:AnyObject]] 
       } 
      } 

     for i in 0 ..< self.arrRes.count { 

       var a = self.arrRes[i] 

       let templatename = a["template_name"] as? String 
       let teststock = a["stock_name"] as? String 
       print(teststock) 

     } 

coredata에서 "TEMPLATE_NAME는"이 값하지만, "stock_name"과 "성장" 전무하다 내가하지 알다. 이 문제를 해결하는 방법을 알려주십시오. 감사합니다

답변

0

다른 json 수준의 데이터에 액세스하려고합니다. 그래서 template_name과 주식은 피어입니다. 그러나 stock_name과 growth는 주식의 자식을 구성하는 오브젝트에 있습니다.

당신은 Cocoapods을 통해 ObjectMapper를 체크 아웃,

let templatename = a["template_name"] as? String 
let stockArr = a["stocks"] as? Array 

for stock in stockArr { 
    let stockName = stock["stock_name"] 
    let growth = stock["growth"] 
} 

좀 더 익숙해지면 내가 당신을 격려 것 같은 것을 할 필요가있다. 진보 측면에 조금 있지만 인생을 훨씬 쉬워.

+0

답장을 보내 주셔서 감사합니다. coredata에 대해 말해주십시오. , { "성장": "28.87", "stock_name": "ADVANC" } 나는 {: "29.87", "stock_name" "BLA" "성장"} 저장할 경우 – hyskoa

+0

코어 데이터는 전화에 데이터베이스가 있으므로 json을 데이터베이스로 구문 분석합니다. 이러한 테이블 간의 테이블과 관계를 만듭니다. 여기에 게시 할 코드가 너무 많지만 인터넷을 통해 많은 예제가 있습니다. https://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial – karnett

관련 문제