我们能够将图像数据编码为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())

这是照片。

10-06 04:56