का नाम बदलें मेरे पास मेरे कोर्डटा लगातार स्टोर के साथ समस्या को ठीक करने के लिए एक (संभवतः) सरल है। यूआरएल dummyURL.sqlite
निरंतर स्टोर समन्वयक यूआरएल
मैं परियोजना के साथ काम करने के लिए पहले तारीख को किया का उपयोग कर
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (persistentStoreCoordinator != nil)
{
return persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"dummyURL.sqlite"];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return persistentStoreCoordinator;
}
, और यह नाम बदलने के लिए .. अब सब मेरे वर्तमान परीक्षण उपकरणों भूल गए हैं:
मैं के साथ बनाया (4) 2 से अधिक महीने के लिए प्रयोग में थे, इस एप्लिकेशन के उपयोग काफी मात्रा में डेटा संग्रह और एक बेवकूफ यूआरएल ^^
अद्यतन साथ भंडारण मैं लगातार दुकानों के प्रवास पर कुछ शोध किया और इस समारोह ने लिखा है:
-(void)migrate{
NSPersistentStoreCoordinator *psc = [self.dataHandler.managedObjectContext persistentStoreCoordinator];
NSURL *oldURL = [psc URLForPersistentStore:[[psc persistentStores]objectAtIndex:0]];
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSURL *newURL = [[appDelegate applicationDocumentsDirectory] URLByAppendingPathComponent:@"database.sqlite"];
NSError *error = nil;
NSPersistentStore *oldStore = [psc persistentStoreForURL:oldURL];
NSPersistentStore *newStore = [psc migratePersistentStore:sqliStoreOld
toURL:newURL
options:nil
withType:NSSQLiteStoreType
error:&error];
}
प्रश्न 1will this work or will i lose some data with that?
प्रश्न 2afterwards will i just have to change the appendString in my persistenstore function?
त्वरित उत्तर के लिए धन्यवाद। मैं लगातार प्रतिरोधी अवधारणा पर थोड़ा सा छायादार हूं (इसलिए मैंने इसे बनाने के बाद इसे और स्पर्श नहीं किया है) ... मैं वर्तमान में 'माइग्रेटपर्सिस्टेंटस्टोर' की खोज कर रहा हूं लेकिन मैं वास्तव में dataloss के कारण इसे आजमाने की डरता हूं ..:/ मैं कहां रखूंगा माइग्रेशन कोड? –