Tôi đang sử dụng mẫu Xcode này cho dữ liệu cốt lõi.iphone - thư mục ứng dụng coredata
Trên đại biểu, tôi có phương pháp này:
- (NSURL *)applicationDocumentsDirectory {
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
nhưng điều này đòi hỏi iOS4.
Tôi đang cố gắng làm cho ứng dụng tương thích với 3.0.
Vì vậy, tôi đã chuyển đổi phương pháp này để:
- (NSURL *)applicationDocumentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [NSURL URLWithString:documentsDirectory];
}
nhưng khi CoreData cố gắng sử dụng các URL lưu trữ trên
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"MyFile.sqlite"];
if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
nó bị treo trên phù hợp với thông điệp NẾU:
Các kho lưu trữ SQL CoreData chỉ hỗ trợ các URL của tệp (có /var/mobile/Applications/BB312A7E-6AE1-4BA2-AD87-6B96D8855CC6/Documents/MyFile.sqlite). '
nhưng StoreURL là NSURL!
Bất kỳ manh mối nào? Cảm ơn
Cảm ơn! Bạn là người đàn ông!!!! – SpaceDog
Mục tiêu triển khai ứng dụng của tôi là 8.0 và tính năng này đã hoạt động! Cảm ơn! –