допускающие повторное использование классы условия/выражения

Удалить

 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])
}
6
задан Matthew Flaschen 10 May 2009 в 01:31
поделиться

4 ответа

Взгляните на Функтор Apache Commons . Например, UnaryPredicate , UnaryAnd , UnaryOr и т.д. Встроенные реализации поддерживают сериализацию, но я не знаю о синтаксическом анализе строк. Тем не менее, я думаю, что это очень хорошее начало того, чего вы хотите. Также посмотрите это руководство IBM , основанное на библиотеке.

0
ответ дан 17 December 2019 в 22:14
поделиться

Похоже, вы ищете что-то вроде Hibernate Criteria API . Недостатком является то, что вы привязаны к базе данных или, что еще хуже, к конкретной реализации персистентной структуры. Кроме того, он не охватывает все ваши требования, поэтому я не думаю, что это хороший выбор ...

0
ответ дан 17 December 2019 в 22:14
поделиться

Похоже, вы ищете Функторы (также известные как объекты функций). Если это так, то этот вопрос SO будет уместным, относительно. варианты: Функтор Commons (уже упоминавшийся) - одна из альтернатив, но есть и другие.

Все библиотеки функторов поставляются с каркасом (который довольно прост; унарные, бинарные предикаты, функции отображения для них, объединение цепочкой) и базовый набор наиболее часто используемых функций.

1
ответ дан 17 December 2019 в 22:14
поделиться

You may want to check out ANTLR.

0
ответ дан 17 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: