zoukankan      html  css  js  c++  java
  • iOS.访问 Web Service.使用下拉刷新控件

    #import <UIKit/UIKit.h>
    #import "T20140628025702NSNumber+Message.h"
    #import "T20140628025702NSString+URLEncoding.h"
    
    @interface T20140628025702ViewController : UITableViewController
    
    @property (nonatomic,strong) NSMutableArray *listData;
    
    // 查询所有
    -(void)findAll;
    
    @end
    #import "T20140628025702ViewController.h"
    
    @interface T20140628025702ViewController ()
    
    @end
    
    @implementation T20140628025702ViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        
        // 1、初始化数据
        [self findAll];
        
        //初始化UIRefreshControl
        UIRefreshControl *rc = [[UIRefreshControl alloc] init];
        rc.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新01"];
        [rc addTarget:self action:@selector(refreshTableView) forControlEvents:UIControlEventValueChanged];
        self.refreshControl = rc;
    }
    
    
    -(void) refreshTableView
    {
        if (self.refreshControl.refreshing) {
            self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"加载中..."];
            
            [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 *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];
            }
        }
        if (self.refreshControl) {
            [self.refreshControl endRefreshing];
            self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新02"];
        }
    
    }
    @end
  • 相关阅读:
    某开源ERP最新版SQL与RCE的审计过程
    QEMU固件模拟技术-stm32仿真分析及IRQ仿真实践
    QEMU固件模拟技术分析-luaqemu实现分析
    C/C++源码扫描系列- Fortify 篇
    C/C++源码扫描系列- Joern 篇
    C/C++源码扫描系列- codeql 篇
    bluetooth_stack开源蓝牙协议栈源码分析与漏洞挖掘
    DA14531芯片固件逆向系列(4)- L2CAP及ATT层收包再分析
    DA14531芯片固件逆向系列(3)- BLE收包流程分析及漏洞挖掘思路分享
    微服务架构简单搭建——Spring Cloud Eureka、Ribbon实现服务治理与服务消费
  • 原文地址:https://www.cnblogs.com/cqchen/p/3821105.html
Copyright © 2011-2022 走看看