当我们在iOS应用程序中使用Objective C输入错误的安全代码时如何显示警报

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我们在iOS应用程序中使用Objective C输入错误的安全代码时如何显示警报相关的知识,希望对你有一定的参考价值。

我有一个webservices网址,后面附有安全代码。当我输入正确的安全代码(例如abcd)时,应用程序将加载。输入错误的安全代码时,我需要将警报显示为“错误的安全代码”。我的代码在这里:

- (void) alertStatus:(NSString *)msg :(NSString *)Title:(int)tag
{
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:Title

                                                    message:msg
                                                   delegate:self
                                          cancelButtonTitle:@"Ok"
                                          otherButtonTitles:nil, nil];
    if(tag) 
        alertView.tag = tag;
    [alertView show];
}


-(IBAction)loginClicked:(id)sender {

    @try {

        if([[txtsecurecode text] isEqualToString:@""]  ) {
            [self alertStatus:@"Please enter Access code" :@"Login Failed!":0];
        } else {
            NSString *post =[[NSString alloc] initWithFormat:@"txtsecurecode=%@",[txtsecurecode text]];

            NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"http://my example.com/Accountservice/Security/ValidAccess?accesscode=%@&type=1",txtsecurecode.text]];

            NSString *responseData = [[NSString alloc]initWithData:[NSData dataWithContentsOfURL:url] encoding:NSUTF8StringEncoding];

responseData是从Web服务url获得响应的参考,因此在获取响应下方,我需要保持警惕。

在输入错误的安全代码时,在这种情况下如何显示警报?

答案

尝试使用此代码...

-(IBAction)loginClicked:(id)sender {

    @try {

        if([[txtsecurecode text] isEqualToString:@""]  ) {
            [self alertStatus:@"Please enter Access code" :@"Login Failed!":0];
        } else {
            NSString *post =[[NSString alloc] initWithFormat:@"txtsecurecode=%@",[txtsecurecode text]];

            NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"http://my example.com/Accountservice/Security/ValidAccess?accesscode=%@&type=1",txtsecurecode.text]];


            /*UPDATED*/
            NSString *responseData = [[NSString alloc]initWithContentsOfURL:[NSData dataWithContentsOfURL:url] encoding:NSUTF8StringEncoding error:nil];


            if([responseData isEqualToString:@""])
            {
                [self alertStatus:@"Please enter valid Access code" :@"Login Failed!":0];
            }
            else
            {
                //Your code for handling the response data
            }
        }
    }
}
另一答案

您想要做的是在获得响应的地方完成的。

在响应中,您将有一个变量通知成功或失败。

检查该值。

  • 如果该值表示成功,则继续。]
  • 失败,然后显示“身份验证失败为警报。
  • 快乐编码

另一答案

实际上,您实际上在命名特定方法时,我不明白为什么需要标记。也许代码可以像下面这样简单?

另一答案

您必须检查来自Web服务数据的响应,以获取有效和无效的代码。

另一答案

您必须检查您的回复。它是否在提供所需的答案。

另一答案
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    responseString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding])

    if ([responseString isEqualToString:@"Success"]) {
       NSLog(@"Success");
    }
    else {

       UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:Title 
                                               message:msg
                                               delegate:self
                                      cancelButtonTitle:@"Ok"
                                      otherButtonTitles:nil, nil];
       [alertView show];
    }

    [responseData release];
    responseData = nil;

    [connection release];
    connection = nil;
}

以上是关于当我们在iOS应用程序中使用Objective C输入错误的安全代码时如何显示警报的主要内容,如果未能解决你的问题,请参考以下文章

iOS:Objective -C如何在应用程序处于后台模式时更改推送通知声音有效负载?

IOS项目目标中的多个Objective C桥接头

如何使用 Objective C iOS 从 iPhone X 中的表格视图顶部删除多余的空间

Objective-C

Objective-C依然占C位,Swift和SwiftUI在iOS 15中的使用情况

从 iOS 中的共享按钮启动应用程序 - Objective C 和 React Native