전적으로이 문제를 해결할 수는 없지만 적절하고 부적절한 방법이 있으며 결함있는 방법을 사용하고 싶지는 않습니다. 나는 중포 기지에서이 스냅 샷을 가지고 있고, 그래서 같이있는 NSDictionary로 선언 : 나는 commentDict를 인쇄 할 때NSDictionaries에서 값을 개별 변수로 가져 오는 올바른 방법은 무엇입니까
let commentDict = commentsDictionary.value as? NSDictionary
그것은 다음과 같습니다
commentText = Fififgkffy;
postedBy = USXhV0QYkpbSzAmXgfeteXHuoqg2;
commentText = Fhzifigh;
postedBy = USXhV0QYkpbSzAmXgfeteXHuoqg2;
CommentDict 항상 같이 표시됩니다. 항상 2 개의 항목이 있습니다. 항목을 잡고 변수에 할당하는 올바른 방법을 알고 싶습니다. 내가 전에 사용하지만, 단 하나 개의 항목에있는 한 가지 방법은 for 루프에서 이러는 것입니다 :
if name as! String == "postedBy" {
는 다음 나는 "postedBy"사전 항목의 값을 얻는다. 그래도 2 개의 항목이 있으면 commentText 및 postedBY에 대해 배열을 좀 작게 만들고 각 항목에 2 개의 배열이 있어야합니까? 또 다른 중요한 점은 이들이 자신의 그룹에 있어야한다는 것입니다. 나는 어떤 "commentText"가 첫 번째 그룹이고 두 번째 그룹이 "postedBy"인지를 추적해야합니다.
장기간에 걸쳐 나는 commentText1, postedBy1, commentText2, postedBy2를 모두 별도의 String 변수로 끝내야합니다.
NSDictionary의 배열에 캐스트 할 수 있습니까? 'commentDict' 인쇄 값은'[]'이어야합니다 – xmhafiz
firdatasnapshot이나 w/e를 nsdictionary로 변환하면 2 개의 별도 사전이나 이상한 것을 모르는 것 같아요 –
You 당신이 그것을 하나의 큰 사전으로 취급 할 수있는 것을 아십시오. commentDict에서 for (name, value)와 같은 for 루프를 사용하면 값을 출력하므로 모든 값을 출력하므로 값이 4가됩니다. 나는 그 중 4 개를 모두 문자열 배열에 넣을 수 있습니다. tbh 나는 이것이 어떻게 순서가 어긋나 질지를 보지 못한다는 것을 의미합니다. –