iCloud同期のプロジェクトがありますが、まったく正しく機能しません。最初に、変更されたオブジェクトの配列を取得し、次にそれらをCSV文字列(クラウドのUIDocumentsのコンテンツになります)に変換してから、iCLoudにアップロードします。オブジェクトが400未満の場合はすべて問題ありませんが、オブジェクトが多い場合はアプリがハングします。
ローカルの自動解放プールを使用しようとしましたが、大きな配列を小さな配列に分割しました。しかし、それは役に立ちませんでした。
たくさんのUIDocumentをiCloudにアップロードするための最良の方法は何ですか?私のアップロード方法:
- (void)pushChangesToCloud:(NSArray *)changedObjects {
for (ObjectClass *someObject in changedObjects) {
NSURL *pathToSyncDoc = [[self urlForDocumentsFolderIniCloud] URLByAppendingPathComponent:someObject.name];
CustomUIDocument *syncDoc = [[[CustomUIDocument alloc] initWithFileURL:pathToSyncDoc] autorelease];
// converting object to CSV string
NSString *csvContents = [SomeClass convertObjectToCSV:someObject];
syncDoc.documentContent = csvContents;
[syncDoc saveToURL:[syncDoc fileURL]
forSaveOperation:UIDocumentSaveForCreating
completionHandler:^(BOOL success) {
if (success) {
NSLog(@"YAY!");
} else {
NSLog(@" D: ");
}
}];
}
}
よろしくお願いします。英語をお詫びします。