2016-10-16 7 views
1

firebase 데이터베이스에서 데이터를 가져 오는 Xcode 8/Swift 3 프로그램을 실행 중입니다. "브랜드"를 "상점"세부 정보에 추가합니다. 나는 다음과 같은 코드를 사용하여 같은 지역 및 도로 등 "루트"모든 데이터에 액세스 할 수 있어요FireBase에서 중첩 된 NSDictionary 데이터에 액세스하는 방법

NSDictionary Screenshot

: 여기

처럼 데이터가 모습입니다.

$StoreKey: 
    brands: 
     $brandKey1: 
      Value1: String 
      Value2: String 
      Value3: String 
      Value4: String 
     $brandKey2: 
      Value1: String 
      etc... 

지금까지 나는 구조체가 :

let storeName = value["StoreName"] as! String 
let subThouroughfare = value["subThouroughfare"] as! String 
let thouroughfare = value["Thouroughfare"] as! String 
let administrativeArea = value["administrativeArea"] as! String 

나는 포함 된 데이터에 액세스, 4 개 값은 같은 구조로 결국 더 하나 "브랜드"키 다음이 얼마나 확실하지 않다 같은 설정은 다음과 나는 테이블의 브랜드 부분에서 브랜드를 조회해야합니다 : 나는 테이블을 채울 수 있도록 가능한 배열로 데이터 구조를 얻을 수있는 가장 좋은 방법은 무엇

var ProductList = [storeStruct]() 
struct BrandStruct{ 
    let BrandKey: String 
    let BrandName: String 
    let Value1: String 
    let Value2: String 
    let Value3: String 
    let Value4: String 
} 

? 또는 내가 사용할 수있는 것을 얻을 때까지 계속 Firebase에 질의를 시도해야합니까?

도움 주셔서 감사합니다.

+0

사전에 더 깊이 들어가는 방법을 모르겠습니다. 지금은 사전의 첫 번째 레이어에서 데이터를 가져 오지만 브랜드 키와 값을 얻는 방법을 모르겠습니다. – JpeckStL

+0

실제 쿼리로 질문을 재구성하고 다시 짜내십시오. 질문이 불분명하고 불필요한 세부 사항을 삭제하고 실제 JSON 구조를 포함하십시오. – Dravidian

+0

그래, 그 질문을 이해할 것 같아. 내 대답이 당신에게 유용한 지보십시오. – matt

답변

0

let brands = value["brands"] as! NSDictionary을 가져 오기 시작하여 이미 수행중인 작업과 완전히 병행하십시오. 이제 brands.allKeys을 요청하십시오. 그것은 브랜드 키 배열입니다. 각 키에 대해 brands[thisKey] as! NSDictionary을 요청하면 "Val1", "Val2", "Val3""Val4"에 키가있는 4 개의 값이 포함 된 사전을 다시 가져올 수 있습니다. (이 키의 이름과 수량이 다를 수있는 경우 다시 allKeys을 통해 알 수 있습니다.)

+0

좋아, 너 어디서 이걸 가지고가는 지 알 겠어. 나는 진전을 보이는 것 같아. 당신의 도움을 주셔서 감사합니다. 블록 프로그래밍을 마치면 알려 드리겠습니다. – JpeckStL

+0

훌륭합니다. 감사합니다. 가능한 한 간단하게 유지하려고했습니다. 실생활에서는 NSDictionary 대신'[String : Any]'로 캐스팅 할 것이고, 키를 얻기 위해'keys '를 사용할 것입니다. 그러나이 경우에는별로 중요하지 않습니다. – matt

+0

이것은 효과가있었습니다. 모든 값을 배열에 추가 할 수있었습니다. 감사. – JpeckStL

관련 문제