ドラッグしたItemを選択にする機能なのですが、
すでにselectedItemsManager.selectedItemsにItemが入ってる場合、全て取り除きたいのですが、
swift
1 selectedItemsManager.selectedItems.removeAll{ $0 == item }
とすると
// Extra trailing closure passed in callのエラーになってしまいます。
selectedItemsManager.selectedItems.removeAll(where: { $0 == item })
としましたが、whereは不用と出ます。
しかし、公式のドキュメントをみると、where は必要とあります。
どうしたら、エラーは解消されますか?
追記
swift
1 2class SelectedItemsManager: ObservableObject { 3 @Published var selectedItems: Set<Item> = [] { 4 didSet { 5 isEditing = selectedItems.isEmpty ? false : true 6 } 7 } 8 9 @Published var isEditing: Bool = false 10 11 @Published var currentLocation: (x: Int, y: Int) = (-1, -1) 12 13}
です。
selectedItemsが定義されている部分も質問欄にご記載いただけますでしょうか?
> `selectedItemsManager.selectedItems.removeAll(where: { $0 == item })`
> としましたが、whereは不用と出ます。
こちらもエラーの内容をコピペして質問欄にご記載いただけますでしょうか?