【发布时间】:2019-03-27 20:38:07
【问题描述】:
我想让谓词更灵活地进行更改。我在源代码中有很多这样的字符串:
let predicate = NSPredicate(format: "bodyPart.name = %@", name)
let filteredExercises = ExerciseEntity.mr_findAll(with: predicate)
但是正如你所见,我是否会将 BodyPart 名称更改为 MuscleGroup,例如有一天它会导致以下问题:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath bodyPart.name not found in entity <NSSQLEntity ExerciseEntity id=5>'
我正在寻找具有关键路径的解决方案,例如
let predicate = NSPredicate(format: "%@ = %@", \BodyPart.name, name)
【问题讨论】:
标签: ios swift core-data nspredicate