2014-10-01 2 views
0

После нескольких месяцев и месяцев я действительно не в курсе, как сохранить синхронизируемые данные приложения. Приложение сохраняет свои данные (заполняемые сертификаты) в виде таблицы с core data. Пользователь заполняет соответствующие данные в UITextFields и может сохранить эти сертификаты устройства в UITableViewСинхронизация/резервное копирование/сохранение данных, сохраненных пользователем

NSMutableArray для данных UITableView является self.certificates

Загрузка данных в виде таблицы

- (void)loadData 
{ 

ICContractorManager *contractorManager = [ICContractorManager manager]; 
    NSError *error = nil; 
    Contractor *contractor = [contractorManager primaryContractor:&error]; 
    if (contractor == nil || error != nil) { 
     DebugLog(@"Failed to fetch contractor"); 
     if (error != nil) { 
      DebugLog(@"Error: %@", error.localizedDescription); 
     } 
    } 
    else { 

     NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"modifiedAt" ascending:NO]; 
     NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
     //Certificate data 
     self.certificates = [[contractor.certificates sortedArrayUsingDescriptors:sortDescriptors] mutableCopy]; 


    } 

    [self.tableView reloadData]; 
    NSLog(@"LOAD CERT DATA %@",contractor.certificates); <-----logs data of certificates ok 


} 

Что им удалось достичь:

  1. Чтобы синхронизировать данные таблицы между устройствами
  2. Как кажется, кажется, что ускользает от меня, чтобы решить проблему, как минимум, для резервного копирования и восстановления вручную.

Что есть я пытался ... Ради краткости это краткая версия

  1. Обычное исследование на Google и SO (месяцы не дни включения и выключения)
  2. Использование хороший класс под названием PersistentStack. Представьте себе мою радость, когда это легко синхронизирует мои данные. Это не должно продолжаться, поскольку дубликаты начали появляться в других областях моего приложения, которые были нежелательными.
    Именно тогда я обратился к Apple, который сказал мне придумать свой собственный алгоритм, чтобы предотвратить дублирование на начальном этапе. Я объяснил им, что причина, по которой я использовал TSI, я мог бы использовать некоторые рекомендации для этой цели. Через 2 месяца мы не получили нигде и отказались от этого.
    Теперь с Cloud Drive я еще более смущен.
  3. Итак, теперь все становится более отчаянным, и я стараюсь, что, надеюсь, будет более простым путем, используя Airdrop для отправки данных между устройствами в каком-то ручном нестандартном обходном пути. Некоторые очень полезные советы от Остина здесь: Send NSArray Via AirDrop где-то рядом, однако созданный файл не может быть распознан приложением на целевом устройстве, хотя отправка его на mac через airdrop и его открытие в текстовом редакторе показало по крайней мере некоторые данные похожий на мой основной массив данных.

Что я надеюсь добиться от этого вопроса

Варианты и советов о том, как сохранить этот вид таблицы данных в синхронизации с другими устройствами или каким-то образом получить эти данные с одного устройства и поставить на другом любыми средствами необходимо! сохранить в Parse? Почтовый голубь?

+0

iCloud - это очевидное решение, хотя для его пользователей требуется учетная запись iCloud ... – Paulw11

+0

Согласен, но после того, как мы отправили по электронной почте с инженером Apple между нами, мы не могли избавиться от дубликатов с синхронизацией icloud, плюс с пользователи, переключающиеся на диск iCloud, представляют свои проблемы – JSA986

ответ

0

Для синхронизации данных ядра Я рекомендую использовать Ensembles. Это действительно работает!

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