Как сериализировать UIView?

Чтобы импортировать одну базу данных, используйте следующую команду.

mysql -u username -p password dbname < dump.sql

Чтобы импортировать несколько дампов базы данных, используйте следующую команду.

mysql -u username -p password < dump.sql
8
задан Gilles 'SO- stop being evil' 7 September 2012 в 10:36
поделиться

1 ответ

UIView реализует протокол NSCoding , поэтому вы можете использовать encodeWithCoder: для получения сериализованного представления и initWithCoder: для восстановления UIView из такого представления. Вы можете найти много деталей в Руководстве по программированию сериализации для Какао .

Вот быстрый пример того, как это сделать:

- (NSData *)dataForView:(UIView *)view {
  NSMutableData *data = [NSMutableData data];
  NSKeyedArchiver  *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
  [archiver encodeObject:view forKey:@"view"];
  [archiver finishEncoding];
  [archiver release];

  return (id)data;
}

- (UIView *)viewForData:(NSData *)data {
  NSKeyedUnarchiver  *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];

  UIView *view = [unarchiver decodeObjectForKey:@"view"];
  [unarchiver finishDecoding];
  [unarchiver release];

  return view;
}
12
ответ дан 5 December 2019 в 14:05
поделиться