0

我有一个问题让NSUserDefaults拉出tab/nav/tableview控制器页面,我把相同的代码放在一个登录页面上,应用程序将拉键的物体完美。当我以编程方式创建选项卡和导航栏时,我有这个工作,但现在它不工作。 loginViewController不在标签堆栈中,这是它工作的原因吗?NSuserdefaults不加载在标签栏控制器,在UI上工作

-(void)refreshFields { 
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
     usernameLabel.text = [defaults objectForKey:kUsernameKey]; 
     passwordLabel.text = [defaults objectForKey:kPasswordKey]; 
    } 

- (void)viewDidAppear:(BOOL)animated { 
     [self refreshFields]; 
     [super viewDidAppear:animated]; 

     if ([usernameLabel.text length] == 0|| [passwordLabel.text length] == 0) 
      { 

      UINavigationController *loginNavigationController = [[UINavigationController alloc] initWithRootViewController:loginViewController]; 
      [loginViewController release]; 

      [self.navigationController presentModalViewController:loginNavigationController animated:NO]; 
      [loginNavigationController release]; 

      } 
     else 
      { 
      [[self tableView ]reloadData]; 
      } 
     } 

回答

2

您的用户名标签和passwordLabel插座未设置。通过在refreshFields中放置断点来验证。

+0

这是一个tableview,我正在使用IB,我会在哪里设置文件所有者的出口? – 2010-06-19 03:49:52

+0

我对这些店铺提出了看法,我没有见过任何人,但它的工作完美。谢谢, – 2010-06-19 03:55:06