网络数据同步请求加载

#import "ViewController.h"

@interface ViewController ()

@property(nonatomic,weak)IBOutlet UIButton *button;

@property(nonatomic,weak)IBOutlet UIImageView *imageView;

@end

@implementation ViewController

-(IBAction)btnClick:(id)sender
{
    //给一个url字符串
    NSString *str = @"http://iappfree.candou.com:8080/free/applications/limited?currency=rmb&page=3";
    
    NSString *str2 = @"http://photo.candou.com/i/114/826ea823e8ffe792a6fda9e126f6c404";
    //封装成可用的URL类型;
    NSURL *url = [NSURL URLWithString:str];
    NSURL *url2 = [NSURL URLWithString:str2];
    
    [self syncDownloadWithString:url];
    [self syncDownloadWithData:url2];
}

#pragma mark -NSDate类方法的同步请求-

-(void)syncDownloadWithData:(NSURL *)url{
    //二进制数据提供的同步请求方法
    NSData *data = [NSData dataWithContentsOfURL:url];
    
    //NSData -->UIImage
    UIImage *image = [UIImage imageWithData:data];
    
    //UIImage -->NSData
    NSData *dataImage = UIImagePNGRepresentation(image);
    NSData *dataImage2 = UIImageJPEGRepresentation(image, 0.5);
    UIImage *image3 = [UIImage imageWithContentsOfFile:@""];
    
    
    
    
    
    self.imageView.image = image;
    
    NSLog(@"下载完毕");
}

#pragma mark -NSString类方法的同步请求-
-(void)syncDownloadWithString:(NSURL *)url{

//字符串提供的同步请求的方法
    NSError *error;
    NSString *str = [[NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
    if (error) {
        NSLog(@"%@",error);
        return;
    }
    //NSString --->NSData;
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
    
    //NSDate -->NSString
    NSString *strData = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"%@",strData);
    
    
    
    
    NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    NSLog(@"%@",dict);
    
    
    NSLog(@"str:%@",str);
}
- (void)viewDidLoad {
    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

时间: 2024-10-12 02:31:50

网络数据同步请求加载的相关文章

jQuery.ajax()通过 HTTP 请求加载远程数据实力详解

通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性. 最简单的情况下,$.ajax()可以不带任何参数直接使用. 注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置. 回调函数 如果要处理$.ajax()得到的数据,则需要使用回调函数.beforeSend.e

iOS网络编程(三) 异步加载及缓存图片---->SDWebImage

@SDWebImage提供一个UIImageView的类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. @SDWebImage的导入1.https://github.com/rs/SDWebImage 下载SDWebImage开源包2.将类包拖入工程,再导入MapKit.framework.ImageIO.framework两个框架3.SDWebImage是支持ARC的,在MRC的工程中要注意,可参考MRC工程配置ARC4.注意:SDWebImag

Plist数据表格的加载详细事例

1.本次主要加载单一字典的plist数据(app.plist),形式如下 2.加载plist数据,先将数据字典转换成对应的模型,本例子所用的是各个应用的图标,对应的就应该创建一个应用图标的模型huapp(名称自拟).在头文件中定义所有变量,以及将字典转换成模型数据的两个方法,如下图: 类方法调用对象方法,在对象方法中转换模型 注意:在对象方法中属性的转化还可已使用KVC,一句代码就解决 [self setValuesForKeysWithDictionary:dict]; 但是使用KVC,就会将

extjs4.0 treepanel节点的选中、展开! 数据的重新加载

1.extjs4.0API较3.0有非常大变化2.多级子父节点的选中和展开.3.数据的重新加载.tree.getStore().load4.节点的移除,从树中根据ID获取节点 tree.getStore().getNodeById();5.获取选中的节点,tree.getView().getChecked();6.数据为异步加载,设置节点选中,tree.getStore().getNodeById('').set({checked:true}); <script type="text/ja

【EF学习笔记08】----------加载关联表的数据 显式加载

显式加载 讲解之前,先来看一下我们的数据库结构:班级表 学生表 加载从表集合类型 //显示加载 Console.WriteLine("=========查询集合==========="); using (var db = new Entities()) { var query = from v in db.Classes where v.ClassName == "机电10501" select v; var cls = query.Single(); db.Ent

Jquery.ajax 详细解释 通过Http请求加载远程数据

首先请看一个Jquery.ajax的例子 $.ajax({ type: "GET", url: "/api/SearchApi/GetResults", dataType: "json", data:{ filter: "test", pageNumber: 1, pageSize: 5 }, success: function(data){ // do something }, complete: function(XMLH

iOS开发——网络Swift篇&amp;NSURLSession加载数据、下载、上传文件

NSURLSession加载数据.下载.上传文件 NSURLSession类支持三种类型的任务:加载数据.下载和上传.下面通过样例分别进行介绍. 1,使用Data Task加载数据 使用全局的sharedSession()和dataTaskWithRequest方法创建. 1 func sessionLoadData(){ 2 //创建NSURL对象 3 let urlString:String="http://hangge.com" 4 var url:NSURL! = NSURL(

Android网络项目课程笔记-----加载数据

加载更多数据 1. 分页 上拉加载更多 XListView 提示:数据方面,使用HTTP get或post请求,向服务端请求不同页面的内容 2. 瀑布流 二. 异步加载服务端数据

ajax()方法是jQuery底层的ajax实现,通过HTTP请求加载远程数据。

1 $.ajax({ 2 type: "GET", 3 url: "handleAjaxRequest.action", 4 data: {paramKey:paramValue}, 5 async: true, 6 dataType:"json", 7 success: function(returnedData) { 8 alert(returnedData); 9 //请求成功后的回调函数 10 //returnedData--由服务器返回