Извините, если это очевидно, но я борюсь с тем, как извлечь компоненты из NSFileWrapper, и документы не были особенно полезными.
У меня есть две оболочки.Один содержит простой текстовый файл.Другой содержит настройки страницы.PageSettings - это объект NSObject, который содержит несколько строк NSSt, BOOL и т. Д. Это моя оболочка (на основе Руководства по программированию приложений на основе документов Apple для iOS ), и я застрял, пытаясь извлечь информацию снова:
if (self.fileWrapper == nil) {
self.fileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:nil];
}
NSDictionary *fileWrappers = [self.fileWrapper fileWrappers];
if (([fileWrappers objectForKey:@"page"] == nil) && (self.text != nil)) {
NSData *textData = [self.text dataUsingEncoding:NSUTF8StringEncoding];
NSFileWrapper *textFileWrapper = [[NSFileWrapper alloc] initRegularFileWithContents:textData];
[textFileWrapper setPreferredFilename:@"page"];
[self.fileWrapper addFileWrapper:textFileWrapper];
}
if (([fileWrappers objectForKey:@"pageSettings"] == nil) && (self.pageSettings != nil)) {
NSData *settingsData = [NSKeyedArchiver archivedDataWithRootObject:self.pageSettings];
NSFileWrapper *settingsWrapper = [[NSFileWrapper alloc] initRegularFileWithContents:settingsData];
[settingsWrapper setPreferredFilename:@"pageSettings"];
[self.fileWrapper addFileWrapper:settingsWrapper];
}
Итак, мой вопрос, как загрузить txt-файл и параметры страницы обратно в self.text и self.pageSettings?
Использую ли я - (NSData *)serializedRepresentation
?Если так, то как?Или я просто переверну это так:
NSDictionary *fileWrappers = [self.fileWrapper fileWrappers];
self.text = [fileWrappers objectForKey:@"page"];
self.pageSettings = [fileWrappers objectForKey:@"pageSettings"];
Буду очень признателен за любые объяснения.Большое спасибо.