Неверная ссылка на документ.Ссылки на документы должны иметь четное количество сегментов, но лайки имеют 1 - PullRequest
0 голосов
/ 25 декабря 2018

Что такое проблема в моем запросе?

let uid = Auth.auth().currentUser?.uid
let itemId = selectedItem.objectID
var isOn = false

func like(){
if isOn == true {
        likeRef.delete(){err in
            if let err = err{
                print("Error")
            }else{
                self.likeImageView.image = UIImage(named: "detail_like.png")
                self.isOn = false
                print("delete Success")
            }
        }
    }else if isOn == false {
        let like = Like(uid: uid!, itemId: itemId!, status: true)
        db.collection("likes").addDocument(data: like.dictionary()){ err in
            if let err = err {
                print("Error adding document: \(err)")
            } else {
                self.isOn = true
                self.likeImageView.image = UIImage(named: "like_after.png")
            }
        }
        print(isOn)
    }
    }

Имеет значение addDocument.значение не ноль.

Я столкнулся с этой ошибкой в ​​первый раз.в чем причина?

1 Ответ

0 голосов
/ 26 декабря 2018

Произошла ошибка, потому что не было значения для let itemId = selectedItem.objectID.

Поэтому, когда я устанавливал его напрямую, если без объявления константы, ошибка исчезала.

if isOn == true {
    db.collection("likes").document(likeObjectID).delete(){err in
        if let err = err{
            print("Error")
        }else{
            self.likeImageView.image = UIImage(named: "detail_like.png")
            self.isOn = false
            print("delete Success")
        }
    }
}else if isOn == false {
    let like = Like(uid: uid!, itemId: itemId!, status: true)
    db.collection("likes").addDocument(data: like.dictionary()){ err in
        if let err = err {
            print("Error adding document: \(err)")
        } else {
            self.isOn = true
            self.likeImageView.image = UIImage(named: "like_after.png")
        }
    }
    print(isOn)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...