我们可以将图像数据编码为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,但是下面的代码给出了“额外参数'base64EncodedString'incall”错误,我们无法找到原因导致此错误。
let decodedData = NSData(base64EncodedString: receivedD, options:NSDataBase64DecodingOptions())
一旦我们能够将接收的数据转换为NSData,我们希望使用
将其转换为图像 let decodedimage = UIImage(data: decodedData!)
答案 0 :(得分:3)
经过几个小时的搜索和尝试,我们得到了答案。 我们换了
let decodedData = NSData(base64EncodedString: receivedD, options:NSDataBase64DecodingOptions())
与
let decodedData = NSData(base64EncodedString: receivedD! as String, options: NSDataBase64DecodingOptions())
这是图片。