Установка новых значений для каждого отношения сущности многие ко многим в основных данных - PullRequest
1 голос
/ 19 октября 2011

Это сводит меня с ума, и, скорее всего, я делаю это неправильно.

Итак, у меня есть две сущности: Критерии и Вариант, которые имеют отношение многие ко многим.

Атрибуты для каждого:

Option:
optionName

Criteria:
criteriaName
criteriaRank

В своем приложении я создаю все свои параметры и задаю его имя.

Затем я вставляю критерий и добавляю его к каждому варианту:

Criteria *aCriteria = [NSEntityDescription insertNewObjectForEntityForName:@"Criteria" inManagedObjectContext:[decision managedObjectContext]];

    aCriteria.criteriaRank = [NSNumber numberWithInt:1];

// Add the new criteria to the criteria array and to the table view.    
[criteriasArray addObject:aCriteria];


NSEnumerator *enumerator = [fetchedOptions objectEnumerator];
Option *anOption;
while(anOption = [enumerator nextObject])
{
    [anOption addCriteriasObject:aCriteria];
}

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

Я выбираю критерии следующим образом:

//fetch all criterias
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"criteriaName" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
    NSMutableArray *sortedCriterias = [[NSMutableArray alloc] initWithArray:[option.criterias allObjects]];
[sortedCriterias sortUsingDescriptors:sortDescriptors];
self.criteriasRankingArray = sortedCriterias;

Я хочу иметь возможность добавить критерий, а затем под каждым параметром ранжировать каждый критерий. Я подхожу к этому неправильно? Помогите !!

Спасибо.

1 Ответ

1 голос
/ 19 октября 2011

Если вы добавляете одни и те же объекты Criteria в разные опции, вы увидите это поведение.Вам придется создавать совершенно новые объекты Criteria для каждого из ваших объектов Option.Похоже, вы повторно используете ваши объекты Criteria в нескольких вариантах, что не похоже на то, что вы хотите.Похоже, вам нужны уникальные критерии для каждого объекта Option.

...