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 に答える