Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从使用NSURLConnection的对象获取数据_Objective C_Cocoa_Delegates_Nsurlconnection - Fatal编程技术网

Objective c 从使用NSURLConnection的对象获取数据

Objective c 从使用NSURLConnection的对象获取数据,objective-c,cocoa,delegates,nsurlconnection,Objective C,Cocoa,Delegates,Nsurlconnection,我有一个类,它使用NSURLConnection获取一些数据。它的方法是getData创建对服务器的请求,当收到一些数据时,方法connection:didReceiveData:更新一些属性 -(void)获取数据 { NSMutableURLRequest*请求=[NSMutableUrlRequestRequestWithURL:dataURL]; NSURLConnection*connectionWithRequest=[NSURLConnection connectionWithRe

我有一个类,它使用
NSURLConnection
获取一些数据。它的方法是
getData
创建对服务器的请求,当收到一些数据时,方法
connection:didReceiveData:
更新一些属性

-(void)获取数据
{
NSMutableURLRequest*请求=[NSMutableUrlRequestRequestWithURL:dataURL];
NSURLConnection*connectionWithRequest=[NSURLConnection connectionWithRequest:request委托:self];
}
-(void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)数据
{
//处理数据
dataProperty=processedData;
}
问题是,当我创建这个类的实例并调用方法
getData
时,我无法立即获取对象的属性,因为还没有收到数据。我已经阅读了有关委托和协议的苹果参考资料,但我不明白如何为这个类实现委托方法,它的工作原理类似于
connection:direceivedata:
for
NSURLConnection

你能告诉我怎么做吗?我很高兴,如果你只是发布一个链接到一个例子。多谢各位

我不明白如何为这个类实现委托方法,它的工作原理与NSURLConnection的connection:didReceiveData:for类似

与NSURLConnection的作用相同:

  • 为该对象指定一个名为
    委托
    的属性
  • 将该属性设置为另一个对象
  • 连接IDReceiveData:
    中,向代表发送消息
  • 在委托中,实现另一个对象将调用的方法

  • 对不起,NSURL连接对我来说很好。我想知道如何创建我自己的委托方法,该方法的工作方式类似于连接:didReceiveData:。谢谢!它看起来很简单,我想这正是我需要的。也许一些解释会有帮助,因为OP特别要求它。顺致敬意,
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"YOUR API URL"]];
    
        NSString *email = @"username@gmail.com";
        NSString *password = @"123456";
        NSString *deviceToken = @"simulator";
        NSString *deviceType = @"1";
    
        NSString *post = [NSString stringWithFormat:@"email=%@&password=%@&deviceToken=%@&deviceType=%@",email,password,deviceToken,deviceType];
    
        NSData *requestBodyData = [post dataUsingEncoding:NSUTF8StringEncoding];
        request.HTTPMethod = @"POST";
    request.HTTPBody = requestBodyData;
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue]
                               completionHandler:^(NSURLResponse response, NSData responseData, NSError *error)
         {
             NSLog(@"%@",responseData);
             NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:nil];
             NSLog(@"%@",dic[@"data"]);
        }];