как найти документ в массиве и удалить его? - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь создать кнопку добавления в избранное, я могу добавить объект в массив, но по какой-то причине не могу удалить его из массива. Как убрать его из массива? Вот мой код. спасибо

func didClickFavoriteButton(item: Item) { 

// removing from favorite (not working)

 if user.favoritCar.contains(item.id!)  {
 let index = user.favoritCar.firstIndex(of:item.id!)
 user.favoritCar.remove(at: index!)

FirebaseReference(.User).document(kFAVORIT).updateData([kFAVORIT : 
FieldValue.arrayRemove(user.favoritCar)])

} else { 

// Adding to favorite                   

user.favoritCar.append(item.id!)
      FirebaseReference(.User).document(Auth.auth().currentUser!.uid).updateData([kFAVORIT : FieldValue.arrayUnion(user.favoritCar)])

  }

1 Ответ

0 голосов
/ 27 октября 2019

Можете ли вы попробовать этот код:

if let temp = user.favoritCar.first(where: {$0.id == item.id}) {
   if let index = user.favoritCar.firstindex(of: temp) {
      user.favoritCar.remove(at: index)
   }
}

Вместо этого кода:

if user.favoritCar.contains(item.id!)  {
 let index = user.favoritCar.firstIndex(of:item.id!)
 user.favoritCar.remove(at: index!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...