NSData是空问题

时间:2014-07-25 11:37:06

标签: ios objective-c

NSString *urlString = [NSString stringWithFormat:@"%@", item.image];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSData * data = [NSData dataWithContentsOfURL:url];

NSDictionary *regsiter=[NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

NSLog(@"response : %@",[regsiter valueForKeyPath:@"response"]);

此NSData值变为null。 我需要上传图片也同样这个链接如何可能请帮助我....

2 个答案:

答案 0 :(得分:2)

如果data为null,则表示无法创建。但是如果你想知道原因,你应该使用dataWithContentsOfURL:options:error:方法。

示例:

NSError* error = nil;
NSData * data = [NSData dataWithContentsOfURL:url options:nil error:&error];
if (error) {
    NSLog(@"%@", [error localizedDescription]);
}

答案 1 :(得分:-1)

您可以异步从URL获取数据

NSString *url = [NSString stringWithFormat:item.image];
NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];

[NSURLConnection sendAsynchronousRequest:req
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *responce,
                                           NSData *data,
                                           NSError *error) {

                           NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                           NSLog(@"String from URL %@ is %@", url, str);

                       }];