快速从文档目录获取图像

2023-12-07

假设我使用此代码将图像保存到文档目录

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)
    }
  }
}

我该如何取回它?请记住,在 iOS 8 中,确切的路径经常发生变化


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

斯威夫特 3 和斯威夫特 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
}

Swift 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
         }
     }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速从文档目录获取图像 的相关文章

  • 使用 NSString 进行 UTF8 解码

    我是 Objective C 新手 尝试使用以下示例将格式错误的 UTF8 编码 NSString 转换为格式良好的字符串苹果文档 http developer apple com library mac documentation Coc
  • 无法连接到 iTunes Store(获取应用内购买列表)

    我正在尝试从我的应用程序的应用程序内购买项目商店中获取列表 这是我所做的 安装了新的配置文件并启用了应用内购买 替换配置文件很棘手 但我认为我的设置是正确的 验证税务和银行信息是否正常 该应用程序已在商店出售 创建测试用户 在测试设备上以测
  • iOS - 如何在 swift 中使用 `NSMutableString`

    我已经看过这段 Objective C 代码 但我很难在 swift 中做同样的事情 NSMutableAttributedString res self richTextEditor attributedText mutableCopy
  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • 如何在iOS中处理1到3个手指的滑动手势

    我使用以下代码来处理代码中的 1 根手指滑动 UISwipeGestureRecognizer swipe UISwipeGestureRecognizer alloc initWithTarget self action selector
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • `navigator.geolocation.getCurrentPosition()` 在 iOS PWA 上挂起

    我有这个片段 const getCurrentPosition gt new Promise
  • 从按钮执行 Segue 时应用程序冻结

    我的故事板中有一个按钮 它呈现一个带有模式序列的视图控制器 每次按下此按钮时 应用程序都会冻结 没有崩溃 也没有错误消息 prepareForSegue被调用 所有应该存在的视图控制器都在代码中prepareForSegue 但它们不会出现
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • 为什么 iOS 启动屏幕很慢?

    我的 iOS 应用程序启动屏幕大约需要 3 5 秒 我有一张将在启动屏幕后加载的地图 我的用户必须等待启动屏幕加载 然后再等待 3 秒才能加载地图 有没有办法最大限度地减少启动屏幕时间 基本上这种延迟意味着you在启动过程中做了一些非常错误
  • 使用未解析的标识符“FlurryAdInterstitial”

    我正在尝试整合Flurry Interstitial Ads使用cocoapods in Swift and Xcode 7 1 1 我正在关注开发人员雅虎网站上的此文档 https developer yahoo com flurry d
  • 从命令行添加 Xcode 开发者帐户

    我正在尝试使用xcodebuild allowProvisioningUpdates在我只能通过命令行访问的计算机 Azure Devops macOS 托管计算机 上 不幸的是 根据man xcodebuild为了使用 allowProv
  • iOS 7 上 Safari 浏览器的用户代理

    我只想在带有 Safari 浏览器的 iPhone 和 iPod 中打开我的网站 对于 Chrome Dolphin 等任何其他浏览器 它不应该打开 但目前我从几乎所有设备获得相同的用户代理 对于Safari User Agent Stri
  • 贴纸包会在模拟器上使 iMessage 崩溃,但在 iPhone 上不会崩溃

    按照 Apple 的在线说明和视频在 Xcode 中创建了一个贴纸包 所有图像的尺寸均正确且远低于文件大小阈值 如果我在我的实体 iPhone 上构建并运行贴纸包 一切都会完美运行 如果我在模拟器上构建并运行贴纸包 对于任何模拟的 iPho
  • 在 UIWebView 中播放 Facebook 视频

    有谁知道如何在 Facebook 上播放视频UIWebView 我的应用程序将视频上 传到 Facebook 并检索视频的网址 我想将此网址嵌入到UIWebView播放 我已经为 youtube 解决了这个问题 但没有为 Facebook
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过
  • 如何使用 RX 应用宽限时间?

    我有一个Observable
  • iPhone 上的纵向 UISplitViewController 在 iOS 8 中始终显示主视图和细节视图

    UISplitViewController in portrait在 iPhone 上始终显示主控和细节iOS 8 我尝试子类化UISplitViewController并将其配置为同时显示主视图和细节视图 但没有任何效果 class AP
  • 像 TraceGL 一样分析 Objective C 中的代码路径?

    TraceGL 是一个非常简洁的项目 它允许 JS 程序员跟踪 Javascript 中的代码路径 它看起来像这样 我想为 Objective C 构建类似的东西 我知道运行时使跟踪方法调用变得相当容易 但是我如何跟踪控制流 例如 在上面的

随机推荐

  • 模式匹配 - if 块之外范围内的变量

    我试图理解为什么y属于以下示例的范围 static void Main string args int x 1 if x is int y Console WriteLine This should NOT be in scope y bu
  • MediaPlayer isPlaying() 总是返回 false

    我正在 2 部手机上进行测试 在一台设备中 媒体播放器的 isPlaying 始终返回 false 即使它正在播放 但在其他设备 lg optimusgingerbread 中 如果正在播放 则 isPlaying 返回 true 否则返回
  • 云数据存储:避免竞争条件的方法

    我有很多操纵同类实体的观点 def view1 request key user ndb Key urlsafe key get user x 1 user put def view2 request key user ndb Key ur
  • 在 ASP.NET MVC 3 应用程序的类库中引用 Ninject

    我有一个 ASP NET MVC 3 应用程序 它使用 Ninject MVC3 扩展在我的 MVC 应用程序中设置 DI 也就是说 有NinjectMVC3 cs文件在App Start定义我的绑定的文件夹 这对于 DI 到我的应用程序的
  • 如何获取组合框的显示文本而不是别名?

    我有一个带有一些显示值和别名的组合框 在 SSJS 中 当我这样做时 getComponent comboboxName getValue 它返回别名值 这很好 但现在我想要组合框的显示文本而不是别名值 有什么方法可以得到它吗 定义 SSJ
  • Python 回文

    所以我的任务是查看并检查正整数是否是回文 我已经正确完成了所有工作 但在最后的部分需要帮助 从用户给出的回文中生成一个新的回文的任务 我的 while 循环走在正确的轨道上还是应该使用其他东西 所以结果是如果你输入 192 它会返回Gene
  • 修复正则表达式以解决 ICU/RegexKitLite 错误

    我正在使用 RegexKitLite 它又使用 ICU 作为其引擎 尽管有文档 但在搜索 xxxxxxxxxx 时 像 x 这样的正则表达式将匹配空字符串 它的行为应该像 x 一样 我想在存在此错误时绕过它 并且当正则表达式匹配返回 0 长
  • 生成所有 Excel 单元格公式的平面列表

    我有一个用 VBA 和单元格公式编写的大型程序 我的任务是将其逆向工程到 C winforms 中 我想首先 我需要在平面列表中查看所有单元格公式 有现有的方法可以做到吗 提前致谢 编辑 只是为了分享 在回答者的帮助下 我设法想出了这个 在
  • 如何在 Angular 中使用 ngFor 循环对象属性

    这篇文章是关于我在工作中发现的一个有趣的问题 如果你还不知道的话 我说的是 Angular 2 问题 因此 您想要显示列表的标记 该列表的值来自后端 由于某种原因 您收到的不是一个好的旧对象数组 如下所示 car color red mod
  • 通过在 numpy 中设置一些标准来检索元素的位置

    对于给定的二维数据数组 如何检索粗体中 7 和 11 的位置 索引 因为只有它们是邻居中被相同值包围的元素 import numpy as np data np array 0 1 2 3 4 7 6 7 8 9 10 3 3 3 4 7
  • 如何使用正则表达式前瞻并匹配先前的字符串/字符类

    如果某个数字不位于某个数字之前 则尝试使用负向前瞻来匹配该数字 sign d 8989 匹配898 但不匹配9 我希望它与 8989 整体匹配 是否可以使用负向前瞻来匹配整个字符类或更复杂的正则表达式 d d d 1 2 这将匹配不在 a
  • 根据键对数组进行排序

    我有一个像这样的数组 Array 0 gt Array title gt some title time gt 1279231500 1 gt Array title gt some title 2 time gt 1279231440 2
  • 你能强制IE8识别background-size: 100%吗?

    我需要背景图像精灵根据其容器的宽度调整大小 而不显示整个精灵 并且 background size 100 可以完成此操作 如下所示 featured ul icon controls li prevention background ur
  • 关于例外的问题

    我只是在视觉工作室中玩弄异常 并且使用上面的代码 我期望因为我的异常规范没有提到任何应该抛出 bad exception 的内容 但实际发生的情况是异常被适当的处理程序捕获 为什么这样 我是否缺少 IDE 中的某些设置或其他内容 当我陷入上
  • 从 base64String 加载 bitmapImage

    我怎样才能加载一个bitmapImage from base64String in windows 8 我尝试过这个 但没有成功 它曾经在 Windows Phone 上运行 有什么不同吗 看来我必须使用函数setsourceasync 当
  • 堆空间内存不足

    我的应用程序当前消耗大量内存 因为它正在运行物理模拟 问题是 在第 51 次模拟时 Java 通常会因为堆空间内存不足而抛出错误 我的程序最终运行了数千次模拟 无论如何 我不仅可以增加堆空间 还可以修改我的程序 以便每次运行后都会清除堆空间
  • 在 Bash 中将多个文本文件连接成一个文件

    将目录中的所有 txt 文件合并为一个大文本文件的最快 最实用的方法是什么 目前我正在使用带有 cygwin 的 Windows 因此我可以访问 BASH Windows shell 命令也不错 但我怀疑是否有这样一个命令 这会将输出附加到
  • strftime 不返回缩写时区

    谁能告诉我为什么时区返回为 山区夏令时间 而不是 MST import time print time strftime H M A Z d b y 根据您提出的另一个问题 我猜测您正在使用 Windows 在 Windows 上 strf
  • 如何在map-reduce中读取多个图像文件作为hdfs的输入?

    private static String testFiles new String img01 JPG img02 JPG img03 JPG img04 JPG img06 JPG img07 JPG img05 JPG private
  • 快速从文档目录获取图像

    假设我使用此代码将图像保存到文档目录 let nsDocumentDirectory NSSearchPathDirectory DocumentDirectory let nsUserDomainMask NSSearchPathDoma