开发者

problem storing data to sqlite table using core data

    IfIDieAppDelegate.m

   - (void)createEditableCopyOfDatabaseIfNeeded

    { 

    // First, test for existence. 
    BOOL success; 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 

    NSError *error; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentsDirectory = [paths objectAtIndex:0]; 

    //NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"DeathDiary.sqlite"];

    NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"IfIDie.sqlite"];

    NSLog(@"%@",writableDBPath);

    success = [fileManager fileExistsAtPath:writableDBPath]; 

    if (success==YES)

    {

        NSLog(@"Database Already Exists");
        return;
    }
    else {

        NSLog(@"New Database Created");

        // The writable database does not exist, so copy the default to the appropriate location. 


    NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"IfIDie.sqlite"]; 

        NSLog(@"Default : %@",defaultDBPath);

        success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error]; 

        if (!success) { 

            NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]); 

        } 

    }

}


- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {

    if (开发者_JAVA技巧persistentStoreCoordinator != nil) {

        return persistentStoreCoordinator;

    }

    NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"IfIDie.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;
}


NoteEditController.m


- (void)viewWillDisappear:(BOOL)animated{

    [super viewWillDisappear:animated];

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidShowNotification object:nil];

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];

    if(saveChanges){

        // Save any changes to note
        if([[noteTextView text] length] > 0){

            if(noteToEdit){

                // Edit Note
                if([[titleField text] length] <= 0)

                    [noteToEdit setNoteTitle:[noteTextView text]];

                else

                    [noteToEdit setNoteTitle:[titleField text]];

                [noteToEdit setNoteText:[noteTextView text]];

            } else {
                // New Note
                Note *newNote = [NSEntityDescription 
insertNewObjectForEntityForName:@"Note" inManagedObjectContext:context];

                if([[titleField text] length] <= 0)

                    [newNote setNoteTitle:[noteTextView text]];

                else

                    [newNote setNoteTitle:[titleField text]];


                [newNote setNoteText:[noteTextView text]];

                NSLog(@"data saved");


            }

        } else {
            // Remove note (zero length)

            if(noteToEdit){

                [context deleteObject:noteToEdit];
            }
        }
    }
}

Everything seems going ok here but still data is not saving to table.what could be wrong? is there something with database reload?if, then i m not getting how to resolve. no error is there.it shows nslog of data saved but not saved to table.


You will need to save the context to actually commit your changes at the end of viewWillDisappear: method

NSError *error = nil; 
if (![context save: &error]) {
    // Couldn't save
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜