Первый объект в NSSet имеет более короткий идентификатор и не сохраняет изменения значения - PullRequest
0 голосов
/ 11 мая 2018

У меня есть две сущности, House и Room. Несколько Room s подключены к Home через атрибут rooms в House.

В Swift, если я получу все члены rooms примерно так parentHouse?.rooms?.allObjects as! [Room], и будет возвращен массив, который выглядит так ...

[<Room: 0x1c4286360> (entity: Room; id: 0x1c423c1c0 <x-coredata:///Room/t7A9E5891-F454-496B-A288-8D965C6722842> ; data: {
    room = "Bedroom";
    index = 0;
    house = "0xd000000000580000 <x-coredata://DA7D7CD6-F078-49DF-8684-EDD51D3D0D90/House/p22>";
}), <Room: 0x1c028bbd0> (entity: Room; id: 0xd000000000680002 <x-coredata://DA7D7CD6-F078-49DF-8684-EDD51D3D0D90/Room/p26> ; data: {
    room = "Kitchen";
    index = 0;
    house = "0xd000000000580000 <x-coredata://DA7D7CD6-F078-49DF-8684-EDD51D3D0D90/House/p22>";
}), <Room: 0x1c028c080> (entity: Room; id: 0xd000000000740002 <x-coredata://DA7D7CD6-F078-49DF-8684-EDD51D3D0D90/Room/p29> ; data: {
    room = "Bathroom";
    index = 1;
    house = "0xd000000000580000 <x-coredata://DA7D7CD6-F078-49DF-8684-EDD51D3D0D90/House/p22>";
})]

Проблема, с которой я сталкиваюсь, заключается в том, что после того, как атрибут первого объекта index был установлен, он не может быть изменен снова, несмотря на то, что все остальные объекты index были должным образом изменены. Я установил index как переходный процесс, но проблема все еще сохраняется.

При ближайшем рассмотрении может показаться, что первый элемент имеет другой вид идентификатора, чем другие, может быть, это вступает в игру?

В чем здесь проблема и как я могу изменить атрибут index первого элемента? Спасибо.

1 Ответ

0 голосов
/ 21 октября 2018

В конце концов, я перешел на использование NSOrderedSet, и я рекомендую всем, кто пытается использовать индекс порядка рядом с элементом Базовых данных, сделать это тоже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...