2012-06-22 1 views
0

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

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

И должен ли я экономить его чаще?? Я знаю, что сохранение контекста снова и снова уменьшает срок службы флеш-накопителя устройства, и яблоко рекомендует, чтобы мы делали это реже.

Существуют ли какие-либо другие сценарии, в которых приложение забудет основной контекст данных данных, откуда он заканчивается ...?

Спасибо за ваши входы ..

+1

В зависимости от того, насколько сердиты ваши клиенты, когда они потеряют все свои данные из-за аварии или неожиданного обстоятельства, я думаю. Вы также не получите сообщение о завершении, когда ваше приложение будет приостановлено. Поэтому, если он убит в этом состоянии, poof отправляет все данные. Если ваше приложение не поддерживает фоновый режим, прерывание редко вызывается. – borrrden

+0

, поэтому я должен сохранить свой контекст в applicationWillEnterBackground, спасибо за этот ввод. –

+0

http://stackoverflow.com/questions/10887437/objective-c-core-data-saving-approach –

ответ

0

Сохранение поведения приложения зависит от приложения. Я имею в виду, что в приложении, основанном на документе, пользователь ожидает, что документ будет сохранен, когда он ударит cmd-S. И вы должны это делать. Все больше пользователей ожидают применения приложений, которые они используют для автосохранения.

Сохранение поведения - это выбор дизайна, с точки зрения пользователя. Дизайн пользовательского интерфейса и взаимодействий определяет, как приложение должно себя вести.

Помимо этих соображений, технические реалии нельзя игнорировать, конечно. Использование памяти, сбои в ошибках и потери данных, управление отменой, утечка батареи, все это влияет на поведение приложения и на пользователя в конце. Я действительно не думаю, что ожидаемая продолжительность SSD - это фактор, который вы должны учитывать.

Последнее слово: вы можете иметь более одного контекста объекта для данного магазина. У вас могут быть дочерние контексты. Таким образом, вы можете сохранять части данных вместо полного отставания изменений, вы можете расставить приоритеты над некоторыми объектами над другими ... Многие варианты реализации и возможные стратегии, но они должны определяться дизайном пользовательского интерфейса и взаимодействия. Они должны.

Сохраните, если это имеет смысл для пользователя.

-1

это один вид, как для хранения данных, чтобы CoreData.

-(void) setEmailContactsToCoredata:(id)sender 
{  

     NSManagedObjectContext *context=[appDelegate managedObjectContext]; 

     NSManagedObject *newData = [NSEntityDescription insertNewObjectForEntityForName:@"EmailContacts" inManagedObjectContext:context]; 

     [newData setValue:self.emailTextField.text forKey:@"email_ID"]; 



     NSError *error; 

     if (![context save:&error]) 
     { 
      NSLog(@"There was an error while inserting Data into coredata"); 
     } 
     else 
     { 
      NSLog(@"Success fully Saved your email id"); 
     } 
} 
+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^