我有一段代码,其中有一个for循环来比较2个数组。当我使用模拟器时,它的运行速度确实达到了预期的速度,但是在我的iPhone 7上,内存达到了极限,我的应用程序崩溃了。
这是我的数组和代码。
var testTable = ["active ingredient", "titanium dioxide 3.1 %other ingredients", "aqua", "water", "cyclopentasiloxane", "cyclohexasiloxane dimethicone", "vinyl dimethicone crosspolymer", "methyl trimethicone", "peg-10 dimethicone", "alcohol", "dimethicone"]
加载数据的功能。
func loadData(){
for i in 0..<testTable.count {
let db = Firestore.firestore()
db.collection("Ingredients").whereField("compName", arrayContains: testTable[i] ).getDocuments(){
querySnapshot, error in
if let error = error {
print("\(error.localizedDescription)")
}else if let querySnapshot = querySnapshot {
if (querySnapshot.isEmpty == false){
let res = querySnapshot.documents.compactMap({Ingredients(dictionary: $0.data())})
self.ingredientsArray.append(contentsOf:res)
print(self.testTable[i])
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
}
}
}
我对Cloud Functions非常满意,但是我对Javascript / Typescript不熟悉。有没有办法使用云功能来做到这一点?使用诺言之类的?预先感谢。
更新1.0
我只是在3种不同的设备iPhone 6 / 6s / Xs max上测试了我的应用程序,一切正常且快速。内存的使用确实很少,我无法理解iPhone 7会发生什么。