我想打開一個特殊的viewController,如果它是用戶第一次在我的應用程序。在其他情況下,我已經得到了這個工作,但由於某種原因,它現在不能工作。我試過兩種不同的方法,但都沒有工作。我嘗試的第一件事是檢查,並直接從appDelegate做...然後我試着檢查它是否是第一次從根視圖控制器的viewDidLoad方法,如果它是第一次調用seque打開一個特殊的註冊頁面。 Niether工作,我不知道爲什麼.....這裏是我使用的一些代碼:以編程方式調用segue不工作
這是在rootviewcontroller裏面。當我這樣做的時候,它會在日誌上打印出「Main is First Time」,所以我知道它在那裏。我仔細檢查了在故事板SEGUE和其名稱正確並且去,並從正確的地方....
- (void)viewDidLoad
{
[super viewDidLoad];
appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if([appDelegate firstTime])
{
[self performSegueWithIdentifier:@"mToRegister" sender:self];
NSLog(@"Main is First time");
}
// Do any additional setup after loading the view.
}
中的appDelegate內部:
* NSUserDefaults的standardUserDefaults = [NSUserDefaults的standardUserDefaults]
BOOL haveused = [standardUserDefaults boolForKey:@「haveused」];
if(haveused){
//NOT THEIR FIRST TIME
//Handle scenario
firstTime = NO;
NSString* guid = [[NSMutableString alloc]initWithString:[self getMacAddress]];
//interest = [appDelegate interest];
NSString *splitter = [[NSString alloc]initWithString:@"&"];
NSMutableString *post = [[NSMutableString alloc]initWithString: @"user_read=1&guid="];
[post appendString:guid];
NSLog(@"String for Post is %@", post);
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setValue:@"Basic ==" forHTTPHeaderField:@"Authorization"];
[request setURL:[NSURL URLWithString:@"http://something.com/app/usercrud.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
theConnection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
}
else {
NSLog(@"This is the First time");
firstTime = YES;
//THEIR FIRST TIME
//Handle scenario
// UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone"
// bundle: nil];
//
// UIViewController *controller = (UIViewController*)[mainStoryboard
// instantiateViewControllerWithIdentifier: @"register"];
// UIViewController *root = (UIViewController *)self.window.rootViewController;
// [root presentModalViewController:controller animated:YES];
[self.window.rootViewController performSegueWithIdentifier:@"mToRegister" sender:self];
}
任何爲什麼它不會工作思路?如果沒有人知道更好的方法來處理這種情況?
我檢查了,nsdefaults工作正常......我會通過 – Rmyers
發佈IF部分吧?你的問題解決了嗎? – Saad
不......用戶默認值正常工作。它完全確定它是第一次與否,我似乎無法加載一個不同於根視圖控制器的頁面,如果這是第一次...那就是我的問題 – Rmyers