只是一個小問題。我的應用程序使用NSUserDefaluts和用戶IF語句來存儲一些登錄信息,以檢查文件是否存在,如果是,則加載第二個視圖,如果不是,則轉到登錄屏幕。如果聲明沒有檢查條件對第一次運行
一旦用戶輸入姓名,電子郵件等他們去按按鈕,保存細節,並採取第二視圖但用戶必須按兩次去按鈕的應用程序需要他們的第二個屏幕前。我認爲IF語句在第一次運行時沒有找到保存的細節,因此需要再次按下按鈕。
我怎樣才能克服此問題,因爲它將對用戶非常令人沮喪。我在下面列出了我的代碼。與代碼的解釋將不勝感激。
-(IBAction)LogInButton:(id)sender {
NSString *tempStr = [[NSUserDefaults standardUserDefaults] objectForKey:@"UserName"];
if (tempStr == nil || [tempStr isEqualToString:@""]) {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:Name.text forKey:@"UserName"];
[prefs synchronize];
ClubSearchViewController *CSearch = [[ClubSearchViewController alloc] initWithNibName:@"ClubSearchViewController" bundle:nil];
[self presentModalViewController:CSearch animated:YES];
}
else {
SearchMenu *SMenu = [[SearchMenu alloc]initWithNibName:@"SearchMenu" bundle:nil];
[self presentModalViewController:SMenu animated:YES];
}
}
在此先感謝。
我建議把一些'的NSLog()'報表,看看有什麼是你的代碼怎麼回事。你寫的東西似乎應該起作用,所以有可能這個問題在別的地方。 – 2011-03-23 01:50:39
或者在調試器中單步執行。 – Caleb 2011-03-23 04:18:43