У меня есть несколько строк и 2 массива, хранящихся в Firestore, и сейчас я пытаюсь их получить, но понятия не имею, как.Ну, строки работают нормально, но я не знаю, как я могу запросить массивы.Я получаю код ошибки:
Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения
А вот мой код:
//For-loop
for document in QuerySnapshot!.documents
{
self.list.removeAll()
//let document = QuerySnapshot!.documents
let data = document.data()
let data1 = data["Dog"] as? String
let data2 = data["Person"] as? String
let data3 = data["What"] as? String
let data4 = data["Time"] as? String
let data5 = data["Date"] as? String
let data6 = data["Kilometers"] as? String
let data7 = data["Timer"] as? String
let data8 = data["Latitude"] as? Array<Double>
let data9 = data["Longitude"] as? Array<Double>
let txt = listTxt(dog: data1!, person: data2!, action: data3!, time: data4!, date: data5!, kilometers: data6!, timer: data7!, latitude: data8 ?? [], longitude: data9 ?? [])
print(txt)
tempTxt.append(txt)
}
self.list = tempTxt
self.tableView.reloadData()
}
Массивы хранятся как Double , и цель состоит в том, чтобы получить его как double и снова преобразовать в CLLocationCoordinate2D, чтобы я мог использовать координаты для карты.Если вы знаете, как решить эту проблему, пожалуйста, дайте мне знать.:)
Внутри класса:
class listTxt
{
var dog: String
var person: String
var action: String
var time: String
var date: String
var kilometers: String
var timer: String
var latitude: [String]
var longitude: [String]
init(dog: String, person: String, action: String, time: String, date: String, kilometers: String, timer: String, latitude: [String], longitude: [String])
{
self.dog = dog
self.person = person
self.action = action
self.time = time
self.date = date
self.kilometers = kilometers
self.timer = timer
self.latitude = latitude
self.longitude = longitude
}
Внутри ячейки истории
class HistoryCell: UITableViewCell
{
@IBOutlet weak var DogName: UILabel!
@IBOutlet weak var Person: UILabel!
@IBOutlet weak var Action: UILabel!
@IBOutlet weak var Date: UILabel!
@IBOutlet weak var Time: UILabel!
@IBOutlet weak var timer: UILabel!
@IBOutlet weak var kilometer: UILabel!
var latitude: [String] = []
var longitude: [String] = []
func setCell(list: listTxt)
{
DogName.text = list.dog
Person.text = list.person
Action.text = list.action
Date.text = list.date
Time.text = list.time
timer.text = list.timer
kilometer.text = list.kilometers
latitude = list.latitude
longitude = list.longitude
}
}
Данные хранилища:
Заранее спасибо.:)