Как использовать без Активизирования с фильтром и компактной картой swift - PullRequest
2 голосов
/ 09 февраля 2020

У меня есть этот фильтр и карта

let listItems = openingHours.lazy.filter {
                $0.openingHourOpen.day.lowercased() == day.lowercased()
                }
                .compactMap { createListItem(thisDay: $0, day: day, isFirstDay: &firstDay) }

Поскольку я использую lazy, для этого требуется использование self.createList, которое я не считаю необходимым. Когда я создаю список перехвата для неизвестных, я получаю, что «несобственные» могут применяться только к классам и типам протоколов, привязанных к классам, а не к «информации»

Так что моя идея - обернуть его без не уверен в синтаксисе.

let listItems: [ListItem]  = withoutActuallyEscaping((OpeningHour) -> ListItem) { type  in
                 openingHours.lazy.filter {  $0.openingHourOpen.day.lowercased() == day.lowercased() }
                 .compactMap{ createListItem(thisDay: $0, day: day, isFirstDay: &firstDay)}
            }

, но я получаю ошибку конфликтов определения с предыдущим значением и типом выражения '(, () throws -> _) throws -> _' is неоднозначный без контекста

...