如何在IOS中将文本文件另存为变量

时间:2017-03-30 19:20:22

标签: ios swift

我正在通过套接字发送一些图像,我想创建一个文本文件,其中包含有关通过网络发送的图像的信息。我现在可以通过为图像数据创建变量来发送图像没有问题

let imageData = UIImageJPEGRepresentation(someUIImage, 1.0)

如何使用文本文件的数据创建变量?

let textData = someTextFileAsData.....

3 个答案:

答案 0 :(得分:0)

您应该使用NSDatawrite(to:​ URL, atomically:​ Bool) let imageData = UIImageJPEGRepresentation(someUIImage, 1.0) imageData.writeToFile("imageData.txt", atomically:true) 方法将数据写入文件。

在你的情况下,它将是:

var imageData = NSData(contentsOfFile: "imageData.txt")

然后你可以恢复它:

let image : UIImage = UIImage(data: imageData)

从数据中取回图像:

{{1}}

答案 1 :(得分:0)

对Anthonin C.的答案进行了扩展:

iOS中的每个文件都由URL标识(就像网页一样,但这是指向iOS文件系统的URL)。系统中有一些地方可以保存文件,大部分地方都可以通过阅读来获取网址

FileManager.default.urls(for: SearchPathDirectory, in: SearchPathDomainMask) 

FileManager class reference)。

例如,要保存在用户的个人“文档”目录中,您可以执行以下操作:

let fileName = "socketLog.txt"

if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
  //build full path to file
  let path = dir.appendingPathComponent(fileName)

  do {
      try text.write(to: path, atomically: false, encoding: String.Encoding.utf8)
  }
  catch {/* error handling here */}
}

其中text是您要保存的字符串数据。

答案 2 :(得分:0)

这是你想要的吗?

let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
// Get the URL to the file. Below is an example
let fileURL = documentsDirectory.appendingPathComponent("test").appendingPathExtension("txt") // Replace "test" with your fileName and "txt" with your fileExtension
var text = ""

do {
    text = try String(contentsOf: fileURL)
} catch {
    fatalError("error: \(error.localizedDescription)")
}