У меня есть массив объектов, которые мне нужны для повторения и поиска/вставки в основной объект данных. Я просто не могу понять, как погрузиться в albumParentFolders и посмотреть, существуют ли они, если не добавить их в альбомы сущностей.Как импортировать данные стиля иерархического каталога
Я знаю, что это какой-то рекурсивный метод, который сверлится в альбомеParentFolders, но из-за того, что мои структуры AlbumObjects не могут найти рабочего решения.
Итак, мой массив объектов для импорта, как этого
NSArray AlbumObjects
---------------------------------------
NSString * albumFolderName
NSString * albumDetailsTitle
NSString * albumDetailsURL
NSArray * albumParentFolders (Array of (NSStrings *) of albumFolderNames used for the level in the tree this album lives in. Can be nil for a root folder)
Я сначала нужно найти основные данные и если не найден Вставьте albumFolderName в Core Data Entity под названием альбома. Затем, используя автоматически созданный класс для объекта альбома, вставьте новый объект данных для этой папки. например [newFolder addDetailsObject: newDetails] Кроме того, albumFolderName не уникален в основных данных, поскольку имя albumFolderName может быть перечислено несколько раз, но в разных родительских папках.
Entity: albums
-------------------------------------
Attribute: folderName
-------------------------------------
Relationship: albumDetails <------>> Entity : details (For adding multiple albumDetailsTitle and albumDetailsURL)
Relationship: parent <<-------
Relationship: subGroups |
^ |
------------
Папки альбомов в конечном итоге отображаются в древовидной структуре с использованием NSOutlineView и привязок IB. Эта часть уже работает.
Если кто-нибудь может посоветовать, как итерации AlbumObjects, в частности, бурение в albumParentFolders, чтобы вся структура папок могла храниться в сущности, я был бы очень благодарен.
SDK должна поддерживать OSX 10.7+
ли 'albumParentFolders' полный путь? AlbumFolderNames не уникальны, и вы вставляете их только тогда, когда их не нашли? – Willeke
albumParentFolders - либо nil, либо полный путь, который может выглядеть примерно как [0] = @ "General" [1] = @ "July 2016" [2] = @ "Keep" albumFolderName будет @ "Keep" в этом случае. albumFolderName также может быть nil, предполагая, что у него нет папки, поэтому элемент детализации root. То, что я нахожу, состоит в том, что следующий объект массива может находиться в аналогичной папке, такой как [0] = @ «Новый импорт» [1] = @ «Июль 2016» [2] = @ «Keep», поэтому я необходимо найти родительский элемент родителя родителя для проверки его наличия или отсутствия. Я думаю, это снова рекурсивная часть, которую я не могу понять. – GeoffCoope