开发者

reloadData for a string

I have this in one view:

-(void)viewWillDisappear:(BOOL)animated
{
    RootViewController *rVC = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
    [rVC setMessage:[label text]];
    NSLog(@"ihere - %@",rVC.message);
}

The NSLog returns the correct string. How would I reload the data in the Roo开发者_如何学编程tViewController to update the string message there?

doing this doesn't work in my RootViewController (which i go back to in navcontroller):

    -(void)viewWillAppear
    { [[self message] reloadData]; }

because the message is just a string. Can somebody show me how to fix this please?

Hi can someone else try to help me please?

In the viewWillAppear event, i need to reloadData on a NSString. So i need to convert it somehow to an object before i can use reloadData on it.


That's because NSString doesn't have a reloadData method.

And as it is immutable it wouldn't make sense if it did.

What you probably want to do is display your string in viewWillAppear and change the model property in the controller where it gets this from.

Delegation is the usual way to do this and I've written a couple of examples that might help you see what is happening;

  • DelegationExample
  • TableViewDelegation


Presuming you're using a NavigationController: Consult your navigation controller's stack (property navigationController in your current controller) to access the element for your root view controller (this would generally be the zeroth element -- use viewControllers). Set your message property using that pointer. Then be sure that your root view controller, in viewWillAppear, uses the property you just set to reset the text of the label of interest (using a simple assignment statement -- self.myLabel.text = self.message;.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜