Сортировка CoreData по отношению ко многим

Я пишу приложение для iOS, которое имеет хранилище личных записей и должно отображать их списки, отсортированные определенным образом. Существует переменное количество этих порядков, и они генерируются «на лету», но я бы хотел, чтобы они хранились в хранилище данных. SQL-способ сделать это - иметь таблицу ListPositions с именем списка, идентификатором в таблице лиц и ключом сортировки. Затем, чтобы отобразить конкретный список, я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate .

Я пишу приложение для iOS, в котором есть хранилище личных данных, и ему нужно отображать списки, отсортированные определенным образом. Существует переменное количество этих порядков, и они генерируются «на лету», но я бы хотел, чтобы они хранились в хранилище данных. SQL-способ сделать это - иметь таблицу ListPositions с именем списка, идентификатором в таблице лиц и ключом сортировки. Затем, чтобы отобразить конкретный список, я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate .

Я пишу приложение для iOS, в котором есть хранилище личных данных, и ему нужно отображать списки, отсортированные определенным образом. Существует переменное количество этих порядков, и они генерируются «на лету», но я бы хотел, чтобы они хранились в хранилище данных. SQL-способ сделать это - иметь таблицу ListPositions с именем списка, идентификатором в таблице лиц и ключом сортировки. Затем, чтобы отобразить конкретный список, я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate Существует переменное количество этих порядков, и они генерируются «на лету», но я бы хотел, чтобы они хранились в хранилище данных. SQL-способ сделать это - иметь таблицу ListPositions с именем списка, идентификатором в таблице лиц и ключом сортировки. Затем, чтобы отобразить конкретный список, я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate Существует переменное количество этих порядков, и они генерируются «на лету», но я бы хотел, чтобы они хранились в хранилище данных. SQL-способ сделать это - иметь таблицу ListPositions с именем списка, идентификатором в таблице лиц и ключом сортировки. Затем, чтобы отобразить конкретный список, я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate Я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate Я могу выбрать все ListPositions в списке с заданным именем, вытащить упомянутых лиц и отсортировать по ключу сортировки. Пытаюсь сделать это в CoreDatat, но у меня возникают проблемы. Я пытаюсь сделать это, используя такую ​​схему:

Person:
    Name
    DOB
    etc... 
    positions -->> ListPosition

ListPosition:
    listName
    sortKey
    person --> Person

Затем я могу получить всех лиц в данном списке с помощью NSPredicate [NSPredicate predicateWithFormat: @ "ЛЮБЫЕ позиции.listName как% @", someList]; Это позволяет мне динамически добавлять списки для большого набора лиц. Проблема в том, что я не могу использовать поле sortKey ListPosition для сортировки лиц. Какой NSSortDescriptor это сделает? И если невозможно отсортировать выборку по свойству одного элемента отношения ко многим, каков другой способ получить несколько динамических порядков в coredata? Я показываю списки с помощью NSFetchedResultsController, поэтому сам не могу собрать списки в памяти. Мне нужно сделать это с помощью одного NSFetchRequest.

13
задан wombat57 6 February 2011 в 22:59
поделиться