Вы должны создать подкласс UIDocument
и использовать его с каталогами ubiquity.
Существует 2 метода, отвечающих за обработку чтения / записи.Этот вызывается при чтении:
- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError **)outError
А этот при записи:
- (id)contentsForType:(NSString *)typeName error:(NSError **)outError
Все действия открытия / сохранения вызываются автоматически, вам не нужно ничего делать.Однако существуют методы, которые заставляют открывать / сохранять.Вызывайте это при открытии:
- (void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler
/* --- EXAMPLE --- */
MyDocument *doc = [[MyDocument alloc] initWithFileURL:ubiquitousFileURL];
[doc openWithCompletionHandler:^(BOOL success) {
if (success) {
// do sth
} else {
// handle error
}
}];
... и это при сохранении:
- (void)saveToURL:(NSURL *)url forSaveOperation:(UIDocumentSaveOperation)saveOperation completionHandler:(void (^)(BOOL success))completionHandler
/* --- EXAMPLE --- */
MyDocument *doc = [[MyDocument alloc] initWithFileURL:ubiquitousPackage];
[doc saveToURL:[doc fileURL] forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
if (success) {
// do sth
} else {
// handle error
}
}];
В Интернете много учебников, вот несколько примеров, которые я использовал дляобучение:
Справочник по классам UIDocument также может помочь.