我们能够将图像数据编码为base64EncodedString,并使用NSJSONSerialization从iOS设备发送到另一个设备。
另外,我们可以接收到base64EncodedString格式的图像数据,但是我们不能
将接收到的base64EncodedString转换为接收iOS设备上的图像。
我们使用以下代码测试是否收到base64EncodedString
let gotInfo = notification.userInfo! as Dictionary
let receivedData:NSData = gotInfo["data" ] as NSData
let message = NSJSONSerialization.JSONObjectWithData(receivedData, options:NSJSONReadingOptions.AllowFragments, error: nil) as NSDictionary
let receivedString = message
let receivedD: AnyObject? = message.objectForKey("Field")
println ("received2: \(receivedD )")
此时“println”显示图像的base64EncodedString,但以下代码给出错误“extra argument'base64EncodedString'incall”,我们无法找到发生此错误的原因。
let decodedData = NSData(base64EncodedString: receivedD, options:NSDataBase64DecodingOptions())
一旦我们能够将接收到的数据转换为NSData,我们希望使用
let decodedimage = UIImage(data: decodedData!)
最佳答案
经过几个小时的寻找和尝试,我们终于找到了答案。
我们换了
let decodedData = NSData(base64EncodedString: receivedD, options:NSDataBase64DecodingOptions())
具有
let decodedData = NSData(base64EncodedString: receivedD! as String, options: NSDataBase64DecodingOptions())
这是照片。