2010-11-03 50 views
0

我是新來的這一點,所以在這裏不用..iPhone SDK中的UITableView從圖像數據在JSON字符串顯示圖像

我在與顯示在UITableView的圖像,即從一個MySQL數據庫下載的問題。以下是我在做什麼:

使用UIImagePNGRepresentation轉換圖像。 通過webservice上傳到MYSQL數據庫。 迄今爲止很好..

圖像是從MYSQL下載使用JSON。 NSDictionary用於從JSON字符串創建圖像數據數組。 [UIImage imageWithData:[imageArray objectAtIndex:indexpath.row]]失敗,出現錯誤:[NSCFString bytes]:發送給實例的未重新發送的選擇器。

我可以理解爲什麼會發生這種情況,但不知道如何解決它。 imageWithData期望NSData對象,但我已經將字符串轉換爲NSData,但沒有成功。

任何幫助將不勝感激。

回答

0

你是否正確地轉換數據和從數據轉換?

要將數據:

NSData* theData; 
theData = [theNSString dataUsingEncoding:NSASCIIStringEncoding]; 

爲String:

NSString* theNSString; 
theNSString = [[NSString alloc] initWithData:theData encoding:NSASCIIStringEncoding]; 
0

感謝您的答覆。

是的我正在做數據轉換,正如你所說的,唯一的區別是我使用NSUTF8StringEncoding而不是NSASCIIStringEncoding。

我試過用NSASCIIStringEncoding,但結果是一樣的。似乎轉換後的數據與存儲在數據庫中的數據不同。

從JSON字符串(NSData的到的NSString)的數據是:

< 89504e47 0d0a1a0a 0000000D 49484452 00000087 0000005a 08020000 001d25d2 ac000020 00494441 54780174 bd7778dc e775e73b bdf78e19 f40e1004 c002764a ec942cdb b12ccb55 b6e3123b 8e539e44 cecd3ad7 bbc9c6eb f4dc2789 b3297e9c 4d1cc5b1 2dc9b264 4bb22a25 52ec0401 16f45e07 184ceff3 ....

然而,轉換回的NSData給出下列數據:

< 3c383935 30346534 37203064 30613161 30612030 30303030 30306420 34 393438 34343532 20303030 30303038 37203030 30303030 35612030 38303230 30303020 30303164 32356432 20616330 30303032 30203030 34393434 34312035 34373830 .....

這可能是相同的,但[UIImage的imageWithData:海圖]返回null圖像。

+1

只是一個供參考。您應該在答案中發表評論,以便不打破SO架構。如果需要代碼,請編輯原始帖子。 – 2010-12-01 18:25:11