ios - 如何使用swift在ios的firebase firestore中的文档中获取arrayList
问题描述
我是 ios 新手,请考虑..我有收藏,因为下面的organizationStandardTemplate是添加的屏幕截图...我想从**roles** array list
文档中存储我的数组列表。
这是 android 代码,它的工作正常,与我在 iOS 中使用 swift 语言想要的一样。
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("organisationStandardTemplate")
.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
if (task.getResult() != null) {
for (DocumentSnapshot documentSnapshot : task.getResult()){
if (documentSnapshot.exists()) {
try {
orgTemplate = (ArrayList<HashMap>) documentSnapshot.get("roles");
} catch (Exception e){
Log.e("Excep", e.getMessage());
}
}
}
}
}
}
});
IOS代码
func organisationStandardTemplate(){
var orgTemplate = [AnyObject]() // here i crated my array list
let db = Firestore.firestore()
db.collection("organisationStandardTemplate").getDocuments() { (querySnapshot, err) in
if err != nil{
// print("\(document.documentID) => \(document.data())")
}else {
orgTemplate = //How to get and store into my orgTemplate array list
}
}
}
}
文档 https://firebase.google.com/docs/firestore/query-data/get-data
注意:我只有一个文档,但我不想基于 DocumentID 获取,因为我有两个数据库,如测试和生产,所以每次我都无法更改内部代码..
解决方案
声明数组列表
var orgTemplate = [AnyObject]()
for document in querySnapshot!.documents {
self.orgTemplate = (document.data()["roles"] as AnyObject) as! [AnyObject]
print("resultdefault =sizess : \(self.orgTemplate.count)")
print("resultdefault =orginaldatas : \(self.orgTemplate)")
}
推荐阅读
- java - 未找到 Log4j2.xml 配置文件
- forms - 必填字段,自动对焦。单击链接时,错误验证会移动单击目标
- javascript - 在 Angular 6 应用程序中存储本地存储以外的用户信息并在重新加载时保持相同的位置?
- mysql - MySQL:从多个表中选择数据,其中存在多个“多对多”关系表
- c++ - 内联函数中具有内部链接的全局变量
- azure - 防止 Azure 中的 HTTP 主机标头攻击
- ios - 如何在 podfile 中指定 CocoaPods 存储库分支
- python - 两个非常相似的正则表达式,其他找不到匹配
- notepad++ - 如何在记事本++中搜索和替换匹配的命中
- rest - Autodesk Forge,.Net API POST 方法不返回新对象 ID