Я использую Core Data, и у меня есть базовая структура папок.Каждый элемент (файл / папка) представляет собой строку в таблице.Каждый элемент имеет свойство name
, а также необязательное отношение, которое указывает на элемент, который является его родителем.Я пытаюсь написать функцию, которая принимает массив строк, представляющих путь (например, ["myFolder", "mySubfolder", "mySubSubfolder", "myFile"]
), и возвращает элемент, найденный по этому пути.На английском языке я хотел бы спросить «Основные данные»: «Дайте мне все предметы, имя которых myFile
, имя родителя mySubSubfolder
, имя деда mySubfolder
, а имя прадеда myFolder
».,Гораздо более простой способ описать это словами - определить условие под названием item(at: path)
, которое говорит Core Data «дать мне все элементы, чье имя path.last
и чей родитель удовлетворяет item(at: path.dropLast())
».В моем сердце есть надежда, что есть причудливая особенность предикатов, которая делает это возможным, но я достаточно новичок для них, что у меня возникают проблемы с поиском ответа.