Если вы хотите работать с #keyPath
, тогда это просто строка.
(Немного безопаснее создать строку, предназначенную для работы с KVC.)
Объявите тип параметра как String
, где вы хотите получить #keyPath
, и передать его в любое место, где #keyPath
принято.
func filteredExercises(with propertyKeyPath: String, filter: Any) {
do {
let filteredExercises = try CoreStore.fetchAll(
From<ExerciseEntity>(),
Where<ExerciseEntity>("%K = %@", propertyKeyPath, filter)
)
} catch {
}
}
Если вам нужно работать со Swift-native KeyPath
, это еще одна проблема.