Как удалить сообщение ⇐ IOS
-
Anonymous
Как удалить сообщение
Я пытаюсь удалить публикацию/подборку, но получаю сообщение об ошибке в FeedCellViewModel. Как изменить этот код, чтобы исправить эту ошибку
Невозможно преобразовать значение типа «Post» в ожидаемый тип аргумента. 'Постсервис'
попробуйте дождаться PostService.deletePost(post) FeedCellViewModel
импортировать SwiftUI импортировать Firebase @Главный актер класс FeedCellViewModel: ObservableObject { @Published var post: Сообщение @Published var недавний пост = [Сообщение]() func deletePost(post: Post) асинхронный бросок { делать { недавнийPost.removeAll(где: { $0.id == post.id }) попробуйте подождать PostService.deletePost(сообщение) } ловить { // TODO: Если удаление не удалось, добавьте сообщение обратно по исходному индексу } } } Это PostService
импортировать Firebase импортировать FirebaseFirestoreSwift класс ПостСервис { @Published var documentChanges = [DocumentChange]() частный var firestoreListener: ListenerRegistration? // ОТМЕТКА: - Обновления ленты расширение PostService { func deletePost(post: Post) async -> Bool { пусть db = Firestore.firestore() охранник пусть postID = post.id else { вернуть ложь } делать{ let _ = попробуйте await db.collection("posts").document(postID).delete() вернуть истину }ловить{ вернуть ложь } } сброс функции() { self.firestoreListener?.remove() self.firestoreListener = ноль self.documentChanges.removeAll() } }
Я пытаюсь удалить публикацию/подборку, но получаю сообщение об ошибке в FeedCellViewModel. Как изменить этот код, чтобы исправить эту ошибку
Невозможно преобразовать значение типа «Post» в ожидаемый тип аргумента. 'Постсервис'
попробуйте дождаться PostService.deletePost(post) FeedCellViewModel
импортировать SwiftUI импортировать Firebase @Главный актер класс FeedCellViewModel: ObservableObject { @Published var post: Сообщение @Published var недавний пост = [Сообщение]() func deletePost(post: Post) асинхронный бросок { делать { недавнийPost.removeAll(где: { $0.id == post.id }) попробуйте подождать PostService.deletePost(сообщение) } ловить { // TODO: Если удаление не удалось, добавьте сообщение обратно по исходному индексу } } } Это PostService
импортировать Firebase импортировать FirebaseFirestoreSwift класс ПостСервис { @Published var documentChanges = [DocumentChange]() частный var firestoreListener: ListenerRegistration? // ОТМЕТКА: - Обновления ленты расширение PostService { func deletePost(post: Post) async -> Bool { пусть db = Firestore.firestore() охранник пусть postID = post.id else { вернуть ложь } делать{ let _ = попробуйте await db.collection("posts").document(postID).delete() вернуть истину }ловить{ вернуть ложь } } сброс функции() { self.firestoreListener?.remove() self.firestoreListener = ноль self.documentChanges.removeAll() } }
Мобильная версия