2

1 または 0 を返すためにURL の文字列を比較する必要がありNSutf8stringencodingますが、文字列の値が 1 であっても常に 0 を返します。

NSString *strURL = [NSString stringWithFormat:@"http://localhost/signup/login.php?username=%@&password=%@",username.text,password.text];

// to execute php code
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];

// to receive the returend value
NSString *strResult = [[NSString alloc] initWithData:dataURL 
encoding:NSUTF8StringEncoding];

// print the data in strResult
NSLog(@"%@",strResult);

if ([strResult isEqualToString:@"1"])
{
    // I need to get the control for main navigation controller 
    login2ViewController *controller = [[login2ViewController alloc] initWithNibName:@"login2ViewController" bundle:nil];
    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES ];

}else
{
    // invalid information
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"alert" message:@"Invalid Information" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];
    return;  
}

strResultただし、コンテンツがであっても、常に無効な情報が表示されます1。その値を で出力しましたNSlog。からの出力NSLog:

2012-12-11 16:06:08.156 friend finder[277:11603] 
1

その文字列を と比較するにはどうすればよい@"1"ですか?

4

2 に答える 2

1

次のことを試してください - strResult に追加の空白文字がある可能性があります (改行など):

if ([strResult rangeOfString:@"1"].length > 0) {
    // Do something...
}
于 2012-12-11T11:06:28.993 に答える
0

文字列には他の文字が含まれている可能性があります。

使用する

[strResult stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
于 2012-12-11T11:08:05.177 に答える