Когда в UIDocument возникает конфликт, я могу получить всю конфликтующую версию, вызвав unresolvedConflictVersionsOfItemAtURL:
на NSFileVersion
, но как я могу получить UIDocument (моментальный снимок) этих версий?
Я хочу зациклить все версии и объединить их самостоятельно.
Обновлено Я столкнулся с этим Как я могу объединить конфликтующие UIDocument в iCloud? и попытаться сделать это так, но я не думаю, что это правильно, потому что открытый UIDocument является асинхронной операцией. Как правильно это сделать?
NSFileVersion *currentVersion = [NSFileVersion currentVersionOfItemAtURL:senderDocument.fileURL];
NSArray *conflictedVersions = [NSFileVersion unresolvedConflictVersionsOfItemAtURL:senderDocument.fileURL];
RecentDocument *currentDocument = [[RecentDocument alloc] initWithFileURL:currentVersion.URL];
[currentDocument openWithCompletionHandler:^(BOOL success) {
if (!success) {
NSLog(@"Failed to open");
return ;
}
for (NSFileVersion *version in conflictedVersions) {
RecentDocument *conflictedDocument = [[RecentDocument alloc] initWithFileURL:version.URL];
[conflictedDocument openWithCompletionHandler:^(BOOL success) {
if (!success) {
NSLog(@"Failed to open");
return ;
}
}];
}
}];
UIDocument
асинхронность открытия?NSFileVersion
— это то, как вы находите конфликтующие версии, аUIDocument
— то, как вы их открываете (если вам нужно их открыть). Если вам нужна дополнительная информация, см. руководство Рэя Вендерлиха. а>. - person Tom Harrington   schedule 04.01.2014