синхронизировать изображения с помощью сервисов синхронизации с iPhone на OS X - PullRequest
0 голосов
/ 13 июля 2010

У меня есть приложение для iPhone, которое использует службы синхронизации для синхронизации своих данных с настольной версией, все работает отлично, за исключением изображений.

На iphone я храню изображение в каталоге документов и путь к файлу в основных данных.Я установил временный атрибут «изображение», установил флажок синхронизации и назначил его в качестве свойства идентификатора.Я добавил два метода:

- (NSData *)image;
{
  NSLog(@"%@:%s entered", [self class], _cmd);
  if (image) return image;
  NSString *path = [self primitiveValueForKey:@"pathToFile"];
  if (!path) return nil;
  NSString *myPath = [NSHomeDirectory() stringByAppendingPathComponent:path];
  image = [[NSData alloc] initWithContentsOfFile:myPath];
  return image;
}

- (void)setImage:(NSData *)data
{
    NSLog(@"%@:%s entered", [self class], _cmd);
  NSString *destPath = [self primitiveValueForKey:@"pathToFile"];
  if (!destPath) {
  //Build the path we want the file to be at
  destPath = NSHomeDirectory();
  NSString  *guid = [[NSProcessInfo processInfo] globallyUniqueString];
  NSString  *fpath = [NSString stringWithFormat:@"Documents/%@", guid];
  destPath = [destPath stringByAppendingPathComponent:fpath];
  [self setValue:destPath forKey:@"pathToFile"];
  }
  [data writeToFile:destPath atomically:NO];
  [data retain];
  [image release];
  image = data;
}

- (void)willTurnIntoFault
{
  [image release], image = nil;
}

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

Мой вопрос: можно ли это сделать?или Каков наилучший способ синхронизации данных изображения?

, пожалуйста, дайте мне руководство, я искал и искал, но безуспешно, находя какие-либо решения.

спасибо

1 Ответ

0 голосов
/ 13 июля 2010

Возник вопрос о синхронизации изображений / двоичных данных в Речь Маркуса Зарры о NSConference .

В основном: если ваше изображение меньше 100k, поместите его непосредственно в объект как NSData.

При значениях выше 100k и ниже 1M используется дополнительная сущность, которая хранит данные и связана через отношение.

При значениях свыше 1M, как и вы, хранится путь и данные на диске.

Только первые два подхода выигрывают от синхронизации по zsync.Если вы перейдете к третьему, вам придется перенести ваши данные на другую сторону другими способами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...