Tôi đang cố gắng tìm ra cách để tôi có thể tải trước dữ liệu vào dữ liệu cốt lõi trong khi sử dụng UIManagedDocument
. nỗ lực của tôi cho đến nay là để làm cho tài liệu trong một ứng dụng "Loader" sử dụng mã này ..Tải trước cơ sở dữ liệu lõi trong iOS 5 với 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];
}];
}
và sau đó sao chép các tập tin PersistentStore từ thư mục 'tài liệu' đó được tạo ra trong thư mục của giả lập để phần tài nguyên trong Xcode cho ứng dụng chính sẽ sử dụng cơ sở dữ liệu đã tải.
Vấn đề của tôi là tôi không thể tìm ra cách sao chép tài liệu đó từ gói ứng dụng và sử dụng tài liệu đó làm tài liệu thành công.
Tôi đã thử sao chép thư mục tài liệu dưới dạng từ gói ứng dụng và cố gắng truy cập thư mục dưới dạng tài liệu cung cấp lỗi UIManagedDocument
chỉ có thể truy cập gói tệp. Tôi đã thử tạo một tài liệu mới trong ứng dụng chính và sao chép persistentStore từ gói trên một tài liệu được tạo trong tài liệu có cùng lỗi. Và tôi đã thử sử dụng phương pháp -(BOOL)loadFromContents:ofType:error:
của.. Tôi thậm chí không chắc chắn đây là những gì tôi nên sử dụng.
Có ai có ý tưởng về cách thực hiện việc này thường không? Cảm ơn!
Điều tôi đang làm là tạo thư mục sau (Documents/AppDatabase/StoreContent) trong thư mục tài liệu và chỉ đối phó tệp persistentStore trong thư mục StoreContent. Điều này đang làm việc cho tôi. Bạn có nghĩ rằng tôi sẽ có bất kỳ vấn đề? – tomidelucca