0

我的问题与将来自 Web 服务的字节数组转换为 UIImage iPhone相同 。现在我将这些字节存储在 NSMutableArray 中。但是方法:

NSData *data = [NSData dataWithBytes:YOUR_BYTE_ARRAY length:ARRAY_LENGTH];

将 arrayOfBytes 作为参数。所以任何人都可以告诉我如何将这个数组转换为字节数组。我搜索了很多,但找不到相关的内容。

4

2 回答 2

1

不确定您是如何开始使用可变数组的。如果您使用 NSURLConnection,则委托将获得 NSData,因此您无需使用可变数组。考虑使用这样的连接异步块方法获取数据......

NSURLRequest *myRequest = // the request you've already got working to get image data
[NSURLConnection sendAsynchronousRequest:myRequest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
    if (!error) {
        // image from data with no intermediate mutable array or byte array
        UIImage *image = [UIImage imageWithData:data];
    }
 }];
于 2012-08-28T17:05:00.290 回答
1

谢谢您的合作。但这对我没有帮助。经过长时间的研究,我找到了我的解决方案。我正在分享我的信息,以便其他人可以得到正确的答案。

        NSArray *byteArray = [[NSArray alloc]init]; //strore all data here coming from server in byte formate

        unsigned c = [byteArray count];
        uint8_t *bytes = malloc(sizeof(*bytes) * c);

        unsigned i;
        for (i = 0; i < c; i++)
        {
            NSString *str = [byteArray objectAtIndex:i];
            int byte = [str intValue];
            bytes[i] = (uint8_t)byte;
        }

        NSData *data = [[NSData alloc]initWithBytes:bytes length:c];
        UIImage *image = [UIImage imageWithData:data];
        NSLog(@"image %@",image);
于 2012-08-29T10:24:29.620 回答