使用异步Post在新浪发微博

本文详细介绍了iOS开发中使用Swift编程语言进行应用构建的方法与技巧,包括Xcode环境配置、基础语法、面向对象编程、错误处理、协程与并发编程等内容。同时,还探讨了如何利用Swift特性提升应用性能与用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


</pre><pre name="code" class="objc">#import "ViewController.h"

@interface ViewController ()<NSURLConnectionDataDelegate>
{
    NSMutableData *mPostData;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)asynchronousPost:(id)sender {
    //获取url
    NSString *urlString = @"https://api.weibo.com/2/statuses/update.json";
    //编码
    urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
    //转换成NSURL
    NSURL *url = [NSURL URLWithString:urlString];
    //oc中用  NSMutableURLRequest 进行Post请求
  NSMutableURLRequest *mAsynRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
    //获取参数
    NSString *bobyString = @"status=Rock%20and%20roll&access_token=2.00bUKyMD0Spw_tebfe20df130tHaM_";
    //编码
    NSData *data = [bobyString dataUsingEncoding:4];
    //方法体设置
    [mAsynRequest setHTTPMethod:@"POST"];
    [mAsynRequest setHTTPBody:data];
    //连接
  NSConnection *connectionPost = [NSURLConnection connectionWithRequest:mAsynRequest delegate:self];
}

#pragma mark-----------------------------------
////服务器开始响应,准备向客户发送数据
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    mPostData  = [NSMutableData data];
}
//从服务器接收数据,并且此方法会执行很多次
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [mPostData appendData:data];
}
//接收数据完成
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    //Json数据格式解析,利用系统提供的API进行Json数据解析
  NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:mPostData options:NSJSONReadingAllowFragments error:nil];
   // NSLog(@"%@",dictionary);
}

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

@end






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值