iOS.訪問 Web Service.同步GET要求方法

來源:互聯網
上載者:User

標籤:style   blog   http   color   get   width   

1、字串轉換為URL字串NSString分類

#import <Foundation/Foundation.h>@interface NSString (URLEncoding)-(NSString *)URLEncodedString;-(NSString *)URLDecodedString;@end
#import "T20140628013418NSString+URLEncoding.h"@implementation NSString (URLEncoding)- (NSString *)URLEncodedString{    NSString *result = ( NSString *)    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,                                                              (CFStringRef)self,                                                              NULL,                                                              CFSTR("!*();+$,%#[] "),                                                              kCFStringEncodingUTF8));    return result;}- (NSString*)URLDecodedString{    NSString *result = ( NSString *)    CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,                                                                              (CFStringRef)self,                                                                              CFSTR(""),                                                                              kCFStringEncodingUTF8));    return result;}@end

2、錯誤提示NSNumber分類

#import <Foundation/Foundation.h>@interface NSNumber (Message)-(NSString *)errorMessage;@end
#import "T20140628013418NSNumber+Message.h"@implementation NSNumber (Message)-(NSString *)errorMessage{    /*  -7 沒有資料。     *  -6 日期沒有輸入。     *  -5 內容沒有輸入。     *  -4 ID沒有輸入。     *  -3 據訪問失敗。     *    -2 您的帳號最多能插入10條資料。     *    -1 使用者不存在。     *    0 查詢成功     *    1 修改成功     */        NSString *errorStr = @"";        switch ([self integerValue]) {        case -7:            errorStr = @"沒有資料。";            break;        case -6:            errorStr = @"日期沒有輸入。";            break;        case -5:            errorStr = @"內容沒有輸入。";            break;        case -4:            errorStr = @"ID沒有輸入。";            break;        case -3:            errorStr = @"資料訪問失敗。";            break;        case -2:            errorStr = @"您的帳號最多能插入10條資料。";            break;        case -1:            errorStr = @"使用者不存在";        default:            break;    }        return errorStr;}@end

3、獲得url對象

    NSString *strURL = [[NSString alloc] initWithFormat:@"http://127.0.0.1:8080/xxx/test01.html"];    NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];

 

4、同步get請求

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];    NSData *data  = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

5、-(NSMutableArray *)findAll

-(NSMutableArray *)findAll{    NSString *strURL = [[NSString alloc] initWithFormat:@"http://127.0.0.1:8080/kujizu/test01.html"];    NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]];    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];    NSData *data  = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];        if (data == nil) {                self.listData = [[NSMutableArray alloc] init];        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"錯誤資訊" message:@"沒有資料。" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];        [alertView show];    }else{                NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];                NSNumber *resultCodeObj = [resDict objectForKey:@"ResultCode"];        if ([resultCodeObj integerValue] >=0){                        self.listData = [resDict objectForKey:@"Record"];        } else {                        NSString *errorStr = [resultCodeObj errorMessage];            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"錯誤資訊" message:errorStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];            [alertView show];        }    }    return self.listData;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.