当前位置: 首页 > 面试题库 >

从文档目录快速获取图像

皇甫俊雅
2023-03-14
问题内容

说我正在使用此代码将图像保存到Directroy文档中

let nsDocumentDirectory = NSSearchPathDirectory.DocumentDirectory
let nsUserDomainMask = NSSearchPathDomainMask.UserDomainMask
if let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true) {
if paths.count > 0 {
    if let dirPath = paths[0] as? String {
        let readPath = dirPath.stringByAppendingPathComponent("Image.png")
        let image = UIImage(named: readPath)
        let writePath = dirPath.stringByAppendingPathComponent("Image2.png") 
        UIImagePNGRepresentation(image).writeToFile(writePath, atomically: true)
    }
  }
}

那我该如何找回呢?请记住,与iOS8相比,确切的路径经常更改


问题答案:

您可以在运行时找到用于写入图像的文档目录路径,以便读取图像,可以使用确切的逻辑:

Swift 3和Swift 4.2

let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask    = FileManager.SearchPathDomainMask.userDomainMask
let paths               = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
if let dirPath          = paths.first
{
   let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent("Image2.png")
   let image    = UIImage(contentsOfFile: imageURL.path)
   // Do whatever you want with the image
}

迅捷2

let nsDocumentDirectory = NSSearchPathDirectory.DocumentDirectory
let nsUserDomainMask    = NSSearchPathDomainMask.UserDomainMask
if let paths            = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
{
     if paths.count > 0
     {
         if let dirPath   = paths[0] as? String
         {
             let readPath = dirPath.stringByAppendingPathComponent("Image2.png")
             let image    = UIImage(contentsOfFile: readPath)
             // Do whatever you want with the image
         }
     }
}


 类似资料:
  • 我刚从Eclipse搬到Android Studio,我发现当我使用快速文档(CtrlQ)时,它总是显示“获取文档”。 我怎样才能解决这个问题?我下载了API 19的文档,但问题依然存在。

  • 问题内容: 我的观点超过15 。我必须为所有设置bottomBorder(extension)。我可以一一设置所有功能,也可以正常工作。我想一次设置所有的底部边框。这是我正在尝试的代码,但似乎for循环未执行。我什至尝试过,但是for循环也没有执行。 问题答案: 我让它工作了,但是仍然需要解释 为什么有问题的代码无法工作, 我是从论坛的某个地方获得的,不能完全相信答案。 在viewDidLoad或

  • 问题内容: 如何从给定的文件路径字符串获取文件名? 例如,如果我有一个文件路径字符串为 我想得到返回结果 谢谢您的帮助。 问题答案: 目标C 迅速

  • 问题内容: 我在解析中进行了查询,并获取了GeoPoint坐标数组。这是在封闭内部完成的。我只能访问该闭包内的数组值。我需要能够使用这些值,以便它们可以用作地图上的注释,但我无法使用它们。有人可以告诉我如何从闭包中获取数组值。 码: 问题答案: 在闭包表达式外部而不是内部声明为var。当将其分配给闭包内时,该更改将反映在闭包外的变量中。这称为“捕获” 。捕获外部上下文是使闭包不仅仅是函数的原因。

  • 目录规范 BUI-Weex 提供的脚手架工程是在官方的基础上进行改造的,主要包括以下几个方面特性: 动态生成 webpack 入口 支持 Sass 加载器 支持加载工程目录下图片资源 支持加载 ttf 字体图标文件 先来看看目录结构,然后再逐个分析实现的机制! 目录结构 bui-weex-template assets —— weex官方内置 build —— weex官方内置,自定义脚本,在 n

  • 我知道以前也有人问过类似的问题,但是这些问题已经过时了(有些问题可以追溯到2006年)。 我有一个. net 3.5应用程序(w/iTextSharp 5),我正在转换为. net核心(iText 7),它从联邦快递跟踪文档中提取签名,通过SOAP服务以字节[]数组发送。这段代码多年来一直运行良好,只是略有更新。从联邦快递返回的PDF文档中有几个图像,但签名块不是110x46图像(这是pdf文件中