设置永久数组元素

时间:2018-10-08 08:06:05

标签: ios arrays swift

我正在创建一个数组,从数据库中提取每个元素,因此每次应用程序运行时,它都会从数据库中获取新数据。

是否可以对数组的第一个元素进行硬编码?因此,每次应用加载时,第一个元素始终是“我的第一个元素”吗?

这是我从Firebase创建动态数组的方式,首先创建一个驱动程序数组,然后过滤该数组以删除重复的数组,最后得到“ sortedDriverName”,但是我希望向其中静态添加一个元素每次发射时该阵列的开始

let key = UserDefaults.standard.value(forKey: "uid") as! String
        print(key);
        firebaseDB.collection("message").document(key).collection("messages").getDocuments() { (querySnapshot, err) in
            if let err = err {
                print("Error getting documents: \(err)")
            }
            else {
                self.driverArr.removeAll()
                for document in querySnapshot!.documents {
                    print("\(document.documentID) => \(document.data())")
                    let msgdata = document.data() as! [String:Any]
                    print(msgdata)
                    var msgObj = Message()
                    if let name = msgdata["name"] as? String {
                        msgObj.name = name
                    }
                    self.driverArr.append(msgObj)

                }
                if self.driverArr.count < 1 {
                    print("No Drivers")
                }
                else{
                    print("*** Driver Names array ***")
                    //print(self.driverArr)
                    self.driverName = self.driverArr.compactMap({$0.name})
                    self.sortedDriverName = Array(Set(self.driverName))
                    print(self.sortedDriverName)
                }
            }
        }

1 个答案:

答案 0 :(得分:0)

生成动态数组,然后完成操作,只需在索引0处将一个项目插入数组即可。

npm run dev

从第一个元素开始初始化数组,然后附加其余行

sortedDriverName.insert("My first driver", at: 0)