在swift中将nsdata转换为字符串

时间:2016-09-05 05:25:04

标签: ios swift core-data nsdata

我想将CoreData中保存的图像转换为String,以便我可以使用它(我不想将其直接转换为图像,因为我需要将图像/字符串发送到下一页)。

以下是我正在尝试的代码,但在运行时获取 BAD_EXC_Result ,因为它找到nil值但tableImageArray[indexPath.row]具有值,因为我通过了它到if陈述:

if tableImageArray[indexPath.row] != "" {                
    var  _Image:String = String(data: tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)!   
    //(NSString(data:tableImageArray[indexPath.row], encoding:NSUTF8StringEncoding)) as String!
    print(_Image)
}

3 个答案:

答案 0 :(得分:0)

尝试:

if let array = tableImageArray {                
    var  _Image:String = String(data: array[indexPath.row], encoding:NSUTF8StringEncoding)!   
    //(NSString(data:array[indexPath.row], encoding:NSUTF8StringEncoding)) as String!
    print(_Image)         
}

答案 1 :(得分:0)

您无法通过UTF8编码将图像数据直接转换为 <div *ngFor="i=0;i<10;i++"> Repeatative Item content </div>

将<{1}}转换为String唯一方式,无论内容是base64编码。

NSData

答案 2 :(得分:0)

这只是我的猜测。

从数组的名称来看,NSData听起来像是一组图像,而不是字符串。因此,我猜您要将图片转换为NSData,并将UIImage转换为字符串。

但是,这不起作用。就像直接从String转换为base64EncodedStringWithOptions([])一样无效。

我猜你有这两个意图:

1)您希望base64将图像编码为字符串。为此,您只需在数据上调用UIImage

2)您想要识别并打印{{1}}中包含的字符串。为此你应该使用一些OCR库。只是谷歌他们!