Я работаю над созданием поиска по ключевым словам.Первый код «Создание дочернего элемента со всеми созданными здесь ключевыми словами» сохраняет то, что мне бы хотелось, чтобы каждому ключевому слову был назначен «ключ» (первая картинка).Тем не менее, для второй части кода, где я сохраняю «значения» «поста», я хочу сохранить ключевые слова, которые пишутся в посте, как дочерние «ключевые слова», причем каждому ключевому слову назначается ключ.Вторая часть кода сохраняет ключевые слова (вторая картинка).
Проблема в том, что, когда я сохраняю свои «значения» (второй фрагмент кода), как я могу задать для сохраняемых ключевых слов совпадающие «ключи» вместо нулей и единиц.
Создание ребенка со всеми созданными здесь ключевыми словами / Сохранение какЯ хочу
let caption = self.postCaption.text
let hashtag = caption?.split{$0 == " "}.map(String.init)
for item in hashtag! {
if item.contains("#") {
self.keywords.append(item)
print(self.keywords)
Database.database().reference().child("Keywords").childByAutoId().setValue(item)
} else {
print("There are no keywords for this post")
}
}
Сохранение ключевых слов из заголовка сообщения здесь, чтобы "опубликовать" как ребенок / не сохранить, как я хочу
photoRef.child("\(imageName)").putData(data!, metadata: nil) { (metaData,error) in
if let error = error {
print("there was an error")
print(error.localizedDescription)
return
} else {
// store downloadURL
photoRef.child("\(imageName)").downloadURL(completion: {(url, error) in
if error != nil {
print(error!.localizedDescription)
return
}
let downloadURL = url?.absoluteString
let values: Dictionary<String, Any> = ["Keywords":self.keywords, "onesignal":self.loggedInUserData?["onesignal"] as! String,"employeeName":self.loggedInUserData?["name"] as! String,"employeeEmail":self.loggedInUserData?["email"] as! String,"uid": uid, "caption": caption ?? "", "download_url": downloadURL, "timestamp": Int(Date().timeIntervalSince1970), "businessName":self.otherUser?["businessName"] as! String, "businessStreet":self.otherUser?["businessStreet"] as! String, "businessCity":self.otherUser?["businessCity"] as! String, "businessState":self.otherUser?["businessState"] as! String, "businessZIP":self.otherUser?["businessZIP"] as! String, "businessLatitude":self.otherUser?["businessLatitude"] as! String, "businessLongitude":self.otherUser?["businessLongitude"] as! String, "imageID": imageName, "postID": postID, "businessUID":self.otherUser?["uid"] as! String]
// store downloadURL at database
let databaseRef = Database.database().reference()
let path = databaseRef.child("Businesses").child(self.otherUser?["uid"] as! String).child("posts_requests").childByAutoId()
path.setValue(values) { (error, ref) -> Void in
if error != nil {
print("error saving post in db")
} else {
// reset caption field
self.postCaption.text = ""
// reset placeholder image
self.imageView.image = UIImage(named: "filterPlaceholder")
MBProgressHUD.hide(for: self.view, animated: true)
let viewConrolller = self.storyboard?.instantiateViewController(withIdentifier: "Employee Profile") as! UITabBarController
self.present(viewConrolller, animated: true, completion: nil)
}
}
})
}
}