JSQMessageViewController と PubNub を使用して Swift チャット アプリを作成しています。テキストメッセージをリアルタイムで取得して正しく表示することに問題はありません。しかし、画像メッセージの取得に行き詰まっています。問題なく画像を送信できますが、受信者が画像を取得すると、NSCFString データになります。PubNub の didReceiveMessage 関数の<UIImage: 0x155d52020>, {256, 342}print(message.data.message) の出力は : で、print(message.data) の出力は :{ message = "<UIImage: 0x155d52020>, {256, 342}"; subscribedChannel = aUpVlGKxjR; timetoken = 14497691787509050;}
このデータを UIImage に変換する方法を知っている人はいますか?
1 に答える
2
UIImage を base64 エンコーディングに変換してから、pubnub メッセージに送信し、base64 を UIImage にデコードする必要があります。
エンコード:
let imageData = UIImagePNGRepresentation(image)
let imageString = imageData.base64EncodedStringWithOptions(.allZeros)
デコード:
let imageData = NSData(base64EncodedString: imageString, options: NSDataBase64DecodingOptions.fromRaw(0)!)
var image = UIImage(data: imageData)
于 2015-12-10T18:56:57.150 に答える