2017-03-04 1 views
1

와 중포 기지 데이터베이스에서 지능 검색이 코드를 가지고 :스위프트 3

Snap (availability) { 
    1 = 1; 
    2 = 1; 
    3 = 1; 
    4 = 1; 
    5 = 1; 
    6 = 0; 
    7 = 0; 
} 
이 이

이 내 문제는 내가 Dictionnarydict이 때문에 초기화되지 않은 것을이 스냅 샷을 인쇄

userRef.observeSingleEvent(of: .value, with: { (snapshot) -> Void in 

     print(snapshot) 

     if let dict = snapshot.value as? [Int : Bool] { 
      print(dict) 
     } 
    }) 

Int 값 1,2, ..., 6,7; Firebase은 그들에게 Int으로주지 않을 수도 있습니다. 또한 dict[String : Bool]으로 사용하여이 값을 검색하려고했습니다. 너무 일하지 않아. [NSNumber : Bool]

내 질문 : 자녀 이름이 Ints 인 경우 어떻게 생각합니까?

+0

그들은 NSNumber의 인스턴스입니다. –

+0

BTW : 둘 다 당신의 예제와 대안 예제는'[String : Bool]'을 포함하고 있습니다. –

+0

오 죄송합니다 감사합니다. 그리고 BTW, 'NSNumber'는 작동하지 않습니다! –

답변

1

문제는 Ints를 순차적 방식으로 사용하면 Firebase이 그들을 배열과 같이 처리한다는 것입니다. 당신은 키와 같은 기능의 int를 사용하지 않아야 이유는

키의 모든 정수, 그리고 더 많은 공 및 개체의 최대 키가 비어 있지 않은 값이 사이의 키의 절반 이상, 다음 중포 기지가 가만히 있으면 그것을 배열로 렌더링하십시오.

여기에서 more details about the issue! Firebase 블로그의 일부 best practices.

+0

고마워요. 나는 그것을 피할 것입니다. ;) –

+0

그러나 가치로서 가능한가? –

+0

무엇을 의미합니까? – i6x86