2011-09-10 76 views
0

我有2個帶有xib文件的頁面。一個是登錄頁面,另一個是歡迎頁面。完成操作後更改頁面

這裏是登錄功能:用戶成功登錄

-(IBAction)login{ 
NSLog(@"login begin"); 

NSString *loginResponse = [self tryLogin]; 
NSLog(@"%@", loginResponse); 

loginError.text = loginResponse; 


    NSUserDefaults *session = [NSUserDefaults standardUserDefaults]; 
    [session setInteger:1 forKey:@"islogged"]; 
} 

後,我需要將它們重定向到被稱爲通知的另一個廈門國際銀行文件。現在我該如何做到這一點?

也出於某種原因,當我把一個if語句放入函數中時,它並沒有進入語句。

-(IBAction)login{ 
NSLog(@"login begin"); 

NSString *loginResponse = [self tryLogin]; 
NSLog(@"%@", loginResponse); 


if(responseInt == @"2"){ 
    NSLog(@"login error 2"); 

    UIAlertView *alertURL = [[UIAlertView alloc] initWithTitle:@"Error!" 
                 message:@"Username or password is wrong!" 
                 delegate:nil 
              cancelButtonTitle:@"OK" 
              otherButtonTitles: nil]; 
    [alertURL show]; 
    [alertURL release]; 
    /////////////////////////////////////////////////// 
}else if(responseInt == @"0"){ 
    NSUserDefaults *session = [NSUserDefaults standardUserDefaults]; 
    [session setInteger:1 forKey:@"islogged"]; 

} 

} 

正如你可以看到我嘗試作爲的條件之一,儘快NSLog的東西,但它並沒有進入任何語句(在loginResponse送回爲2)。

回答

2

如何更改視圖

如果你的應用是導航爲基礎的,那麼你可以添加使用方法[self.navigationController pushViewController:controller animated:YES];新的全屏視圖。

無處不在,您可以使用下一個方法添加新的全屏視圖:[self presentModalViewController:controller animated:YES];

問題與'if語句'。

當你要比較的對象,你應該使用下列方法之一:

  1. compare:,該方法返回下列值之一:NSOrderedSameNSOrderedDescendingNSOrderedAscending。例如,if ([responseInt compare:@"2"] == NSOrderedSame) {// equal}
  2. 「isEqual:方法」,例如,if ([responseInt isEqual:@"2"]) {// equal}
  3. 或具體類的一些具體比較

不要忘記,當您使用==>和比較等您比較內存中對象的地址。

+0

ahh非常感謝你:)我習慣於在js和php中進行編程:)關於將用戶從一個頁面重定向到另一個頁面的第一個問題的任何想法? – ahoura

+0

更新了我的答案。 – Nekto

+0

我知道這聽起來很愚蠢,但我很難聲明控制器,你想怎麼做? – ahoura

0

你試過做isEqualToString:而不是等號?這是一個更可靠的字符串比較器。另外你的登錄方法返回一個字符串而不是一個整數似乎很奇怪。這是有原因的嗎?

+0

不,沒有一個真正的原因...你能幫我解決UIViews的問題嗎?如果你閱讀了我上次對上述答案的評論,你會知道問題是什麼......謝謝 – ahoura