我是新来的,正在学习如何使用SwiftUi编程 我试图弄清楚为什么我不能访问从Firestore发出的数组值。下面的类从Firestore读取数据并填充数组datas: category,其中category是一个结构。 该数组似乎填充得很好,因为当我打印该数组的值时,它会出现在控制台中。 class getCategoriesData: ObservableObject {
@Published var datas = [category]()
init() {
let db = Firestore.firestore()
db.collection("cat
我对SwiftUI非常陌生,对我来说,这是一个项目。
我已经将用户的详细信息存储在Firestore数据库中,该数据库如下所示:
我想从数据库中获取名称,并将其显示在文本(“Hello”名称)中,我已经能够从数据库中获取名称并将其附加到数组中。当单击“登录”按钮时,将运行此函数。
守则如下:
func getData(){
let docRef = db.collection(FStore.collectionName).document(userID)
docRef.getDocument { (document, error) in
if let document = docu
我在下面的代码中得到一个索引超出范围的错误。list.datas似乎可以在foreach循环上工作,但是当我想要访问HomeView上的索引list.datas时,它会给我一个索引超出范围的错误。下面是代码。我能想到的唯一一件事是api调用没有及时返回以访问索引,但是如果是这样的话,为什么我可以在foreach循环中访问它。
struct HomeView: View {
@ObservedObject var list = getData()
let screen = UIScreen.main.bounds
var body: some View {
我试图在我的应用程序中添加一个领导板,我已经创建了一个列表,它正在使用这个视图模型从我的FireStore数据库中获取信息。
import Foundation
import Firebase
import FirebaseFirestore
class LeaderboardViewModel: ObservableObject {
@Published var leaders = [Leader]()
private var db = Firestore.firestore()
func fetchLeaderboard() {
db.collection("Lea
我一直在得到IndexError:列表赋值索引超出范围。我的逻辑如下: print(x)显示6是在得到错误之前打印出来的。从逻辑上讲,6%4 == 0是真代码,所以代码应该删除numbers6 -1,即numbers5。在此之后,x将增加到7,循环将不再迭代。
有人能指出我哪里不对吗?蒂娅。
# create list from user specifications
numbers = []
size = int(input("Enter the number of elements: "))
for i in range(0, size):
numbers.app
我尝试使用网格布局的this solution。 我们希望在网格中动态显示数组项,如果Array.count发生更改,会出现索引超出范围的错误,应用程序会崩溃。 如何解决这个问题? var totalrows: Int{
let t = Double(self.cards.count) / Double(self.cols)
return Int(round(t))
}
var cols: Int{
let col = self.verticalSizeClass == .compact ? 4 : 2
return col
}
func colro
我对SwiftUI和使用Firebase非常陌生,无意中从Firebase上的文档中检索了一个值。我已经做了一些谷歌搜索,但还没有找到一个方法来做到这一点。
到目前为止,我的代码如下:
//Test1: get user info
func readUserInfo(_ uid: String) -> String {
let db = Firestore.firestore()
let docRef = db.collection("users").document(uid)
var returnThis = ""
doc
我试图显示嵌套数组/ struct中的值。以下是我的结构定义:
import Foundation
// MARK: - Station
struct Station:Codable, Identifiable {
let id, latitude, longitude, cp: String
let pop, adresse, ville: String
let prix: [Prix]
// MARK: - Prix
struct Prix: Codable, Identifiable{
let nom, id, maj
这是我的第一个SwiftUI项目,我对编程非常陌生。
我有一个视图模型和我的内容视图的选择器,设法将$selection发送到详细视图,但不确定如何让它再次从Firestore读取。我感觉好像缺少了一些东西,就像我需要使用if-else,但不能准确地指出问题所在。我在这里的论坛上找过了,但似乎找不到解决方案。
这是虚拟机
import Foundation
import Firebase
class FoodViewModel: ObservableObject {
@Published var datas = [Food]()
private var db = Firestore.fi
我试图像数组中的项一样频繁地呈现视图结构。我想使用-每一个,因为我不喜欢UIList视图。顺便说一下,我用的是SwiftUI。我生成数组,我想要使用从消防基地-消防局。
下面是我生成数组的方式:
class ViewModellForItems: ObservableObject{
@Published var listItemsEnglisch = [MaterialItemClass]()
let myDataBase = Firestore.firestore()
let Ordner = Firestore.firestore().collectio
我已经得到一个数组索引超出范围误差,然后遇到了这个问题。
这是代码块。
import UIKit
import Foundation
import CoreBluetooth
编辑1:根据Leo的建议,错误从这个块中消失了,但是超出范围的索引仍然存在。
extension Collection where Index == Int {
func get(index: Int) -> Element? {
if 0 <= index && index < count {
return self[index]
在Swift中,我有一个连接到FireStore的viewModel,当我调用它的函数fetchData时,它成功地返回了许多文档。但是,当我尝试使用索引引用文档时,我得到了一个超出范围的错误。 在本例中,文档计数返回为1,因此我不明白为什么下一条文本语句不起作用。会不会是时间问题呢?也就是说,文档在那个时刻实际上是可用的。 @ObservedObject var testViewModel = GetTestViewModel()
var body: some View {
VStack {
Text("Number of tests = \(t
目前,我有一个屏幕,从“项”集合中获取“项”列表。用户应该能够选择多个项目,并在按下按钮时将它们添加到“items”集合中的文档中。我似乎不知道如何编写函数来将这些项的列表写入Movie文档。
下面的代码示例
这是获取项的循环(到目前为止)。
let movie: Movie
@State var selections: [String] = []
@ObservedObject private var viewModel = ItemsViewModel()
@State private var isSelected = false
@State va
我试图从一个表视图中删除一个单元格,也从Firestore中删除一个单元格。我是这样宣布我的车的:
struct Cart
{
var photoKeyCart: String
var foodCart: String
var priceCart: Int
}
var cart: [Cart] = [] // This is in the cart controller
这是我的桌面视图,在那里我有我的手推车项目:
extension CartViewController: UITableViewDelegate, UITableViewDataSource
{
我尝试下载成功上传的图像到存储中,代码如下:
func retrieveAllPictures(helloid: String) async {
//Referenzen zu den Datenbanken
let db = Firestore.firestore()
//Alle Foto Ids in einem Array speichern
let result = try? await db.collection("events").document(helloid).getDocument()
为了准备不同的面试,我用两种相似的语言以“从排序数组中删除重复”的名称回答了一个LeetCode问题。我的C#解决方案被标记为正确,但是Unhandled exception. System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.解决方案会抛出一个带有消息Unhandled exception. Syste
所以我试着从火力基地的一个文档中得到一些信息。我做了好几次了,但这次我犯了一个奇怪的错误。
Error: Assertion failed: file:///E:/flutter/.pub-cache/hosted/pub.dartlang.org/cloud_firestore_platform_interface-2.2.1/lib/src/platform_interface/platform_interface_document_snapshot.dart:69:12
field is String || field is FieldPath
"Supported [field