Q:

NSUserDefaults not getting stored string value

I have UIWebView for reading content.  After that i select some text from content stores in string using NSUserDefaults in Viewcontroller.  Then i retrieve this string value and displays in UITextView to  viewcontroller1.  But the UITextView is not updating text from viewcontroller.  The NSUserDefaults also not getting updating text.  Im using [self.navigationController pushViewController:viewcontroller1 animated:YES]; for switch to viewcontroller1.  
viewcontroller:
[wbCont loadHTMLString:webString baseURL:nil];
    [self.view addSubview:wbCont];

    NSMutableArray *items = [[[UIMenuController sharedMenuController] menuItems] mutableCopy];
    if (! items) items = [[NSMutableArray alloc] init];

    UIMenuItem *menuItem;
    menuItem = [[UIMenuItem alloc] initWithTitle:@"BookMark" action:@selector(save:)];
    [items addObject:menuItem];
    [menuItem release];
    menuItem = [[UIMenuItem alloc] initWithTitle:@"Note" action:@selector(note:)];
    [items addObject:menuItem];
    [menuItem release];

    [[UIMenuController sharedMenuController] setMenuItems:items];
    [items release];

- (BOOL) canPerformAction:(SEL)action withSender:(id)sender
{
    if (action == @selector(save:))
    {
        return YES;

    }
    else if (action == @selector(note:))
    {
        return YES;
    }
    else if (action == @selector(copy:))
    {
        return NO;
    }

    return [super canPerformAction:action withSender:sender];
}

    -(void)save:(id)sender{
        NSString   *selection = [wbCont stringByEvaluatingJavaScriptFromString:@"window.getSelection().toString()"];

        NSLog(@"selection is %@",selection);

         NSUserDefaults *userData1 = [NSUserDefaults standardUserDefaults];  
            [userData1 setObject:selection forKey:@"preferenceName"];

            [userData1 synchronize];

           [self.navigationController pushViewController:note animated:YES];

    }

viewcontroller1:
textView = [[UITextView alloc]initWithFrame:CGRectMake(0,0,320,400)];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    // getting an NSString
    NSString *savedValue = [prefs stringForKey:@"preferenceName"];
NSLog(@"saved is %@", savedValue);
textView.text = [NSString stringWithFormat:@"%@", savedValue];

A:

Allocation of textView is in viewDidLoad. 
Updating of textView is in viewWillAppear. 
-(void) viewWillAppear:(BOOL)animated
    [super viewWillAppear:animated];

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    // getting an NSString
    NSString *savedValue = [prefs stringForKey:@"preferenceName"];
    NSLog(@"saved is %@", savedValue);
    textView.text = [NSString stringWithFormat:@"%@", savedValue];
}

