我正在研究ios应用程序而且我是新手。所以,我收到了这个错误。我想要做的是当用户首次在应用程序上注册时,他们的用户名使用NSUserdefault本地存储在手机上。
现在,如果他们关闭应用程序并重新打开它,应用程序将通过第一个视图控制器,并在viewdidload方法中检查USUserdefault的长度是否大于零,如果是,则通过执行segue调用进入主要活动。但是当我运行它时会出现错误。
这就是我在故事板上所做的。
这是firstviewcontroller中的代码
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSString *user = [prefs stringForKey:@"userName"];
if(user.length>0){
NSLog(@"Going straight to main %s", "Yes");
[self performSegueWithIdentifier:@"startMain" sender:self];
}
}
答案 0 :(得分:3)
您所要做的就是将方法移至viewDidAppear:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSString *user = [prefs stringForKey:@"userName"];
if(user.length>0){
NSLog(@"Going straight to main %s", "Yes");
[self performSegueWithIdentifier:@"startMain" sender:self];
}
}