A +
соответствует одному или нескольким экземплярам предыдущего шаблона. *
соответствует нулю или более экземплярам предыдущего шаблона.
Итак, в основном, если вы используете +
, должен быть хотя бы один экземпляр шаблона, если вы используете *
, он будет по-прежнему совпадают, если нет экземпляров.
Удалить
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath) {
if(selectedIndexPaths.contains(indexPath)){
selectedIndexPaths=selectedIndexPaths.filter { [110] != indexPath }
}
}
он вызывается при выборе ячейки и автоматически отменяет выбор ранее выбранной ячейки, а затем изменить его на
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if selectedIndexPaths.contains(indexPath) {
selectedIndexPaths = selectedIndexPaths.filter { [111] != indexPath }
}
else {
selectedIndexPaths.append(indexPath)
}
collectionView.reloadItems(at: [indexPath])
}