2017-03-10 2 views

답변

1

을 일반적으로, 대부분의 Firebase 데이터를 검색하는 일반적인 방법은 스냅 샷의 값을 Swift으로 캐스팅하는 것입니다 이 같은는 :

let myRef = FIRDatabase.database().reference().child("results") 
myRef.observeSingleEvent(of: .value, with: { (snapshot) in 

    if !snapshot.exists() { 
     // handle data not found 
     return 
    } 

    // data found 
    let myData = snapshot.value as! [String: Any] // the key is almost always a String 

    // extracting data from the dictionary 
    let A = myData["A"] as! [String: Any] 
    let dataInA = A["anyChildOfA"] as! Double 

    // ... 

}) 

데이터 정렬 여부를 중포 기지에있는 경우 정말 중요하지 않습니다, 검색은

업데이트

에게 같은 복잡 할 수 있습니다 단순히 루프를 통해 것

var extractedData = [[String: Any]]()  // array of Swift Dictionary 
for c in "ABCDEFGHIJKLMNOPQRSTUVWXYZ".characters { 
    let temp = myData[String(c)] as! [String: Any] 

    extractedData.append(temp); 
} 

extractedData[0]는,349의 데이터가 될 것입니다 : 모든 알파벳은 데이터를 추출, extractedData[25]Z의 데이터입니다. 그것은 물론, 각 편지에 대해 자녀가 있다고 가정합니다.

+0

나는 'A = myData ['A ']'라는 문자를 하드 코드해야만합니까? – Adam

+0

답변이 업데이트되었습니다! :-) – ThunderStruct

0

"데이터"를 제시하는 구조체를 만듭니다

struct Data { 
    ... 
} 

이 래퍼 만들기 : 다음

struct DataWrapper { 
    let data: [Data] 
} 

을 만들려면 새 모델 :

struct ModelName { 
    results: [DataWrapper] 
} 
관련 문제