2016-10-14 2 views
0

У меня есть NSArray, в котором я добавляю объекты после того, как пользователь выбирает несколько строк из таблицы. После выбора пользователя нажмите подтверждение и сохраните данные. Поэтому, основываясь на некотором примере, который я нашел здесь, я реализовал код, но кажется, что он сохраняет только одно значение за раз. Последнее значение, которое пользователь выбирает:MR_saveToPersistentStoreAndWait не сохранять данные из массива

- (IBAction)confirmPressed:(id)sender { 
    NSLog(@"Selected Are: %@ - %@",selectedDX,selectedDesc); 
    for (NSString *code in selectedDX) { 
     if (!_dxToAddEdit) { 
      self.dxToAddEdit = [Diagnoses MR_createEntity]; 
     } 

     [self.dxToAddEdit setCode:code]; 
     [self.dxToAddEdit setCodeDescription:@"Sample Description"]; 
     [self.dxToAddEdit setSuperBill:_forSuperBill]; 

     [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait]; 
} 
    [self.navigationController popViewControllerAnimated:YES]; 

} 

ответ

1

Вы работаете только с одним управляемым объектом self.dxToAddEdit. И он будет содержать последние code из массива. Если вы хотите сохранить несколько объектов, вы должны сделать следующее:

NSManagedObjectContext *defaultContext = [NSManagedObjectContext MR_defaultContext]; 
for (NSString *code in selectedDX) { 
    Diagnoses *newDiagnose = [Diagnoses MR_createEntityInContext:defaultContext]; 

    newDiagnose.code = code; 
    newDiagnose.codeDescription = @"Sample Description"; 
    newDiagnose.superBill = _forSuperBill; 
} 

// Save recently created objects to persistent store. 
[defaultContext MR_saveToPersistentStoreAndWait];