2016-10-14 7 views
0

사용자가 테이블 뷰에서 여러 행을 선택한 후에 객체를 추가하는 NSArray이 있습니다. 사용자 선택 후 확인을 누르면 데이터가 저장됩니다. 따라서 여기에있는 예제를 기반으로 코드를 구현했지만 한 번에 하나의 값만 저장하는 것처럼 보입니다. 사용자가 마지막으로 선택한 값 :MR_saveToPersistentStoreAnd 데이터가 배열에서 저장되지 않음

- (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]; 
관련 문제