我正在测试用户名真实性的服务器响应。如果服务器响应“User absent”,则弹出UIAlertView。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *responseString1 = [[NSString alloc] initWithData:responseData1 encoding:NSUTF8StringEncoding];
NSLog(@"%@",responseString1);
NSString *response = responseString1;
NSLog(@"%@",response);
if ([response isEqualToString:@"User absent"]) {
_userAbsent = [[UIAlertView alloc]initWithTitle:@"Error" message:@"1. Display Name missing.\n2. Password missing." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
self.userAbsent.delegate = self;
[_userAbsent show];
}
我输入了一些随机的用户名和密码来伪造错误,但警报视图没有弹出。 NSLog是否对服务器上的数据进行了两次。
这是日志输出:
2013-03-28 20:59:35.542 SimpleTable[1429:f803] "User absent"
2013-03-28 20:59:35.542 SimpleTable[1429:f803] "User absent"
我在从服务器请求数据之前有另一个UIAlertView,如果缺少用户名和密码字段,则会发出警报。然而,AlertView有效。
比提前......
答案 0 :(得分:2)
您的回复是“用户缺席”而非用户缺席。(即带引号的字符串)
请勿直接使用支持变量(_userAbsent),init
或dealloc
方法除外。
试试这个......
NSString *strResponse = @"\"User absent\"";
if ([response isEqualToString:strResponse]) {
self.userAbsent = [[UIAlertView alloc]initWithTitle:@"Error" message:@"1. Display Name missing.\n2. Password missing." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[self.userAbsent show];
}
希望这对你有帮助......
答案 1 :(得分:0)
您的UIAlertView
似乎未正确设置。
当您只需要一个nil
声明时,最后会有两个[[UIAlertView alloc] initWithTitle:@"Error" message:@"1. Display Name missing.\n2. Password missing." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
声明。
{{1}}
这似乎是一个奇怪的错误,但也许这就是原因?
答案 2 :(得分:0)
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Message" message:@"Set Your Message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];