【发布时间】:2017-07-31 04:27:52
【问题描述】:
目标
- 为每个单独的表格视图单元格创建一个新的字符串数组。
问题
-
每次我为每个单独的 JSON 对象追加到字符串数组时,追加不会追加到每个单独单元格的数组;附加是针对整个 JSON 对象的提要,因此,最终会得到一个包含正在获取的每个 JSON 对象的数组。(我需要为每个单独的单元格创建一个单独的数组)
例如 =
-
单元格 1 = [“你好”、“谢谢”、“欢迎”]
-
单元格 2 = [“美国”、“中国”、“俄罗斯”]
-
单元格 3 = ["Patatoe", "Orange", "Apple"]
-
等等……
我在做什么?
- 我正在从 firebase 中提取一个字符串数组,并将这些值附加到一个在 cellForRowAtIndexPath 方法中实例化的空数组中。
代码
var peopleWhomAreInvited = [String]()
Database.database().reference().child("following").child((currentUser?.uid)!).observe(.childAdded, with: { (snapshot) in
Database.fetchUserWithUID(uid: snapshot.key) { (user) in
let allUserRef = Database.database().reference().child("plans").child((user.uid))
allUserRef.observeSingleEvent(of: .value, with: { (snapshot) in
guard let dictionaries = snapshot.value as? [String: Any] else { return }
dictionaries.forEach({ (key, value) in
let peopleAttendingRef = allUserRef.child(key).child("invited").observe(.childAdded, with: { (peopleSnapshot) in
let personsRef = allUserRef.child(key).child("invited").child(peopleSnapshot.key)
personsRef.observe(.childAdded, with: { (personSnapshot) in
guard let peopleAttendingDictionary = personSnapshot.value as? String else { return }
peopleWhomAreInvited.append(peopleAttendingDictionary)
print("THIS IS WHO I INVITED", peopleWhomAreInvited)
})
})
})
})
}
})
我尝试了什么?
我试过了:
-
在 cellForRowAtIndexPath 方法之外和在单元格中声明数组
-
创建一个具有数组值的字典,并(未成功)将该数组附加到每个键(即 indexPath.row)。
-
在单元格内而不是在 cellForRowAtIndexPath 中声明 fetch 方法
我不知道该怎么做...如果您有任何想法,请告诉我。
【问题讨论】:
-
二维数组可能对您有所帮助。
-
你在哪里使用数组?解释有点混乱。此外,peopleWhomAreInvited 应该是谁而不是谁。动词“to be”采用主格。
-
让你的问题有点清晰易懂
标签: ios arrays swift uitableview dictionary