2016-10-14 2 views
0

Я получаю code & desc от веб-сайта, вызывая API. Затем загрузите его в tableView и на основе множественного выбора. Я сохраняю выбранные значения в два массива, то есть selectedCode и selectedCodeDesc. Моя Entity является:

enter image description here

Так что я хочу [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreWithCompletion:^(BOOL success, NSError *error){, но не знаю, как. Я знаю это очень много:Как сохранить данные в двух NSMutableArray в одном объекте с использованием магической записи

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

     [self.dxToAddEdit setCode:code]; 
     [self.dxToAddEdit setCodeDescription:@""]; //what to give here 
     [self.dxToAddEdit setSuperBill:_forSuperBill]; 
    } 
    //after this I'm calling the saveToPersistent 

Так что же дать в setCodeDescription?

+0

Вы работаете с coredata? –

+0

да, но я использую MagicalRecords. Я только что обновил свой вопрос, увидев код. –

+0

MainCode - это сущность? –

ответ

1

Если я правильно понял, и на основании вашего описания и пример кода, который вы можете сделать следующее:

NSManagedObjectContext *defaultContext = [NSManagedObjectContext MR_defaultContext]; 
// Sorry, I renamed selectedCode to selectedCodes and selectedCodeDesc to selectedCodeDescriptions for readability. 
// Not sure whether selectedDX is actually selectedCodes. 
for (NSInteger i=0; i<selectedCodes.count; ++i) { 
    NSString *code = selectedCodes[i]; 
    NSString *description = selectedCodeDescriptions[i]; 
    Diagnoses *newDiagnose = [Diagnoses MR_createEntityInContext:defaultContext]; 

    newDiagnose.code = code; 
    newDiagnose.codeDescription = description; 
    newDiagnose.superBill = _forSuperBill; 
} 

[defaultContext MR_saveToPersistentStoreAndWait]; 

На самом деле, я бы не сохранить ответа на два разделенных массивов. Из-за:

  • Ваш код становится трудно читать
  • Представьте себе, что модель будет меняться, и вместо двух свойств будет содержать 4. Вы должны будете создать дополнительные массивы.

Я бы порекомендовал вам разобрать ответ непосредственно в управляемых объектах. Конечно, вы не можете сохранять их в постоянное хранилище, просто заполнив представление в таблице. Я настоятельно рекомендую вам прочитать these tutorials about Core Data. Это даст вам представление о том, как работать с библиотекой Magical Record. Хотя, библиотека упрощает много работы, было бы лучше знать, что находится под капотом;]

+0

Ваш спаситель дня: D Я новичок в основных данных, и да, я знаю, что многие вещи, которые я делаю, считаются плохими подходами, но так вы учитесь. Я буду держать ваше предложение в виду на будущее, так как сейчас все работает нормально, и я не хочу его испортить: P –