iOS.访问 Web Service.MKNetworkKit_GET

#import <UIKit/UIKit.h>
#import "T20140628025200NSNumber+Message.h"
#import "T20140628025200NSString+URLEncoding.h"
#import "MKNetworkEngine.h"
#import "MKNetworkOperation.h"

@interface T20140628025200ViewController : UITableViewController

@property (nonatomic,strong) NSMutableArray *listData;

//接收从服务器返回数据。
@property (strong,nonatomic) NSMutableData *datas;

// 查询所有
-(void)findAll;

@end
#import "T20140628025200ViewController.h"

@interface T20140628025200ViewController ()

@end

@implementation T20140628025200ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 1、初始化数据
    [self findAll];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

#pragma mark table dataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.listData.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 1、初始化重用Cell
    static NSString *reUseCell = @"reUseCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reUseCell];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reUseCell];
    }
    
    // 2、配置重用Cell数据
    NSMutableDictionary*  dict = self.listData[indexPath.row];
    cell.textLabel.text = [dict objectForKey:@"Content"];
    cell.detailTextLabel.text = [dict objectForKey:@"CDate"];
    return cell;
}
-(void)findAll
{
   
    NSString *path = [[NSString alloc] initWithFormat:@"/kujizu/test01.html"];
    
    MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"127.0.0.1:8080" customHeaderFields:nil];
    MKNetworkOperation *op = [engine operationWithPath:path];
    
    
    [op addCompletionHandler:^(MKNetworkOperation *operation) {
        
        NSLog(@"responseData : %@", [operation responseString]);
        NSData *data  = [operation responseData];
        NSDictionary *resDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments 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{
            
            NSNumber *resultCodeObj = [resDict objectForKey:@"ResultCode"];
            if ([resultCodeObj integerValue] >=0){
                
                self.listData = [resDict objectForKey:@"Record"];
                [self.tableView reloadData];
            } else {
                
                NSString *errorStr = [resultCodeObj errorMessage];
                UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:errorStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
                [alertView show];
            }
        }
        
    } errorHandler:^(MKNetworkOperation *errorOp, NSError* err) {
        NSLog(@"MKNetwork请求错误 : %@", [err localizedDescription]);
    }];
    [engine enqueueOperation:op];
}
@end
原文地址:https://www.cnblogs.com/cqchen/p/3819359.html