Предварительная загрузка базы данных основных данных в iOS 5 с помощью UIManagedDocument

Я пытаюсь придумать способ, которым я могу предварительно загружать данные в основные данные, пока с использованием UIManagedDocument . Пока что я пытаюсь создать документ в приложении «Загрузчик», используя этот код ..

NSURL *url  = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
                                                      inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:@"Default Database"];
if(![[NSFileManager defaultManager] fileExistsAtPath:[self.document.fileURL path]]){
    [self.document saveToURL:self.document.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
        if(success)[self loadDataIntoDocument];
    }];
}

, а затем скопируйте файл persistentStore из каталога «документы», который создается в каталоге симулятора, в раздел ресурсов в Xcode для основного приложения, которое будет использовать загруженную базу данных.

Моя проблема в том, что я не могу понять, как скопировать этот документ из пакета приложений и успешно использовать его как документ.

Я попытался скопировать каталог документов как есть из пакета приложений и попытаться получить к нему доступ как к документу, который выдает ошибку UIManagedDocument может получить доступ только к пакету файлов. Я попытался создать еще один свежий документ в основном приложении и скопировать хранилище persistentStore из пакета поверх документа, созданного в документе с той же ошибкой. И я пробовал использовать метод UIManagedDocument - (BOOL) loadFromContents: ofType: error: .. Я даже не уверен, что это то, что мне следует использовать.

Кто-нибудь знает, как это обычно делается? Спасибо!

13
задан shezi 7 January 2012 в 22:06
поделиться