Вам не нужно взаимодействовать с управляемым кодом, так как вы можете использовать LIKE :
CREATE TABLE #Sample(Field varchar(50), Result varchar(50))
GO
INSERT INTO #Sample (Field, Result) VALUES ('ABC123 ', 'Do not match')
INSERT INTO #Sample (Field, Result) VALUES ('ABC123.', 'Do not match')
INSERT INTO #Sample (Field, Result) VALUES ('ABC123&', 'Match')
SELECT * FROM #Sample WHERE Field LIKE '%[^a-z0-9 .]%'
GO
DROP TABLE #Sample
Когда ваше выражение заканчивается на +
, вы можете пойти с '%[^a-z0-9 .][^a-z0-9 .]%'
EDIT: сделать ясно: SQL Server не поддерживает регулярные выражения без управляемого кода. В зависимости от ситуации оператор LIKE
может быть опцией, но ему не хватает гибкости, которую предоставляют регулярные выражения.
Если вы посмотрите на ViewController.swift
из демо, включенного в ** UPCarouselFlowLayout **, вы увидите функцию scrollViewDidEndDecelerating
. Это срабатывает, когда прокрутка перестает двигаться, и ячейка становится «центральной» ячейкой.
В этой функции задана переменная currentPage
, и здесь меняются метки ниже вида коллекции.
Итак, это one место, чтобы попробовать то, что вы хотите сделать.
Добавьте две строки, как показано здесь ... когда прокрутка останавливается, вы создаете IndexPath
и ручным вызовом didSelectItemAt
:
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let layout = self.collectionView.collectionViewLayout as! UPCarouselFlowLayout
let pageSide = (layout.scrollDirection == .horizontal) ? self.pageSize.width : self.pageSize.height
let offset = (layout.scrollDirection == .horizontal) ? scrollView.contentOffset.x : scrollView.contentOffset.y
currentPage = Int(floor((offset - pageSide / 2) / pageSide) + 1)
// add these two lines
let indexPath = IndexPath(item: currentPage, section: 0)
collectionView(self.collectionView, didSelectItemAt: indexPath)
}
Вы почти наверняка захотите добавить некоторую проверку ошибок и дополнительные функции (например, только вызов didSelect, если ячейка действительно изменилась, а не просто скользящая он немного, но остается на текущей ячейке), но это отправная точка.