如何在 Swift 中访问应用程序包中包含的文件?

2024-02-01

我知道有一些与此相关的问题,但它们是在 Objective-C 中的。

我怎样才能访问.txt使用 Swift 包含在我的应用程序中的文件在实际的 iPhone 上?我希望能够从中读取和写入。Here https://github.com/ghostpotato/SE-UILabel-Nil是我的项目文件,如果你想看的话。如有必要,我很乐意添加详细信息。


只需在应用程序包中搜索资源即可

var filePath = NSBundle.mainBundle().URLForResource("file", withExtension: "txt")

但是您无法写入它,因为它位于应用程序资源目录中,并且您必须在文档目录中创建它才能写入它

var documentsDirectory: NSURL?
var fileURL: NSURL?

documentsDirectory = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).last!
fileURL = documentsDirectory!.URLByAppendingPathComponent("file.txt")

if (fileURL!.checkResourceIsReachableAndReturnError(nil)) {
    print("file exist")
}else{
    print("file doesnt exist")
    NSData().writeToURL(fileURL!,atomically:true)
}

现在您可以从以下位置访问它fileURL

编辑 - 2018 年 8 月 28 日

这是如何做到的斯威夫特 4.2

var filePath = Bundle.main.url(forResource: "file", withExtension: "txt")

在文档目录中创建它

if let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last {
   let fileURL = documentsDirectory.appendingPathComponent("file.txt")
   do {
       if try fileURL.checkResourceIsReachable() {
           print("file exist")
       } else {
           print("file doesnt exist")
           do {
            try Data().write(to: fileURL)
           } catch {
               print("an error happened while creating the file")
           }
       }
   } catch {
       print("an error happened while checking for the file")
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Swift 中访问应用程序包中包含的文件? 的相关文章

  • PHP 文件上传帮助

    div align center div 这是我的代码
  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 如何根据扩展名获取文件类型信息? (不是 MIME)在 c# 中

    如何获取基于扩展名的一般文件类型描述 如资源管理器 所以不是 MIME 而是最终用户看到的信息 doc Microsoft Office Word 97 2003 文档 zip ZIP 文件 avi 视频文件 我怎样才能获得似乎可用的 辅助
  • 具有动态警报正文的快速本地通知

    所以我可以创建一个像这样的本地通知 var localNotification UILocalNotification localNotification fireDate NSDate timeIntervalSinceNow 7 loc
  • 如何去掉 UIWebView 上的状态栏背景?

    从 iOS 11 开始 当UIWebView全屏时 状态栏上会出现与屏幕颜色相同的假背景UIWebView背景 有人知道如何摆脱它吗 甚至添加IUWebView到故事板并使其全屏将使状态栏背景出现 我一直在尝试编辑 UIWebView 的大
  • 启动深色或浅色模式的图像

    如何为深色模式和浅色模式选 择一组不同的启动图像 我有一个 LaunchImages 集 当应用程序启动时 会显示一个图像 对于浅色模式 这似乎不错 但是如果我尝试在设置为深色模式 iOS 13 的设备上打开我的应用程序 则该图像看起来很糟
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • UITableView 快速获取 titleForHeadersInSection

    我想在 UITableView 的部分中设置标题的标题 语法是什么swift设置该部分中标题的标题 func tableView tableView UITableView titleForHeaderInSection section I
  • 我们能否检测用户是否通过主页按钮或锁定按钮离开而没有监听 darwin 通知?

    我最近向应用程序商店提交了一个新的二进制文件并将其发送以供审核 但它立即被拒绝并显示以下消息 不支持的操作 不允许应用程序监听设备锁定通知 经过一番挖掘后 我发现我们无法使用 com apple springboard lockstate
  • 为 Swift 对象/属性设置观察者

    我一直在寻找一种在连接到 Mac 的显示器数量发生变化时触发方法的方法 我知道我可以获得 NSScreen screens count 的值 但我需要找到一种方法来在该值发生变化时创建通知或其他内容 或者指示所连接的显示器数量发生变化的其他
  • iOS:滚动视图仅在键盘出现后才起作用

    我制作了滚动视图 其中有很多文本字段 我添加了更新的 TPKeyBoardAvoidingScrollView 并将其添加到滚动视图的文件所有者中 我在 h 文件中添加了插座 在 m 文件中综合并添加了行 self view addSubv
  • 调用 SwiftUI 中位置 #11、#12 处的额外参数 [重复]

    这个问题在这里已经有答案了 我在 SwiftUI 中的切换开关上不断收到 调用中位置 11 12 处有额外参数 错误 我见过其他人有 调用中的额外参数 错误 但答案似乎没有帮助 另外 我的错误是 位置 11 12 我还没有看到其他人发生这种
  • 使用 AVFoundation 裁剪 AVAsset 视频

    我在用AVCaptureMovieFileOutput录制一些视频 我使用显示预览层AVLayerVideoGravityResizeAspectFill稍微放大 我遇到的问题是最终的视频较大 包含预览期间不适合屏幕的额外图像 这是预览和生
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 如何在 iOS 应用程序中通过其他应用程序共享内容/数据,就像我们在 Android 应用程序中使用 Intent.ACTION_SEND 所做的那样?

    在Android中 我们可以通过Intent ACTION SEND startactivity api轻松共享内容 文本 图像 视频等 我已经有一个应用程序可以完美地做到这一点 并且有一个并行的 iOS 应用程序 我希望它能够实现相同的功
  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的

随机推荐

  • 如何通过保留键的数据类型将json序列化为另一个json?

    我有像这样的原始 JSON 字符串 其中有键和值 如下所示 u string 1235 p 2047935 client id string 5 origin null item condition null country id int
  • 传递给 matplotlib.date2num 的时间戳:“str”对象没有属性“toordinal”

    有一个带有时间戳的数组 格式 Y M D H M S 从文本文件收集 我想用 matplotlib 将这些绘制在子图中 但我无法让它发挥作用 我在想这个 import numpy as np import datetime import m
  • 将命令行参数传递给 ant

    我对 ant 比较陌生 在学校我有一个任务是做构建文件 我的问题之一是将其名称 或路径 作为 ant 参数的文件复制到 foldercopy 我需要做类似的事情 ant cpfile 文件 txt 因此ant会将file txt复制到 fo
  • Cucumber Scenario Outline 的示例表中是否可以有空值? [复制]

    这个问题在这里已经有答案了 这是我的场景大纲中的示例表 有些没有价值 这可能吗 Examples ID UserName Password Contact1 Number ID1 username1 password1 Phone 111
  • protobuf-net 并使用接口序列化链表

    我遇到了 protobuf net 的问题 并将其缩小到这个最简单的情况 我想要一个链表类型结构 其中一个类具有相同类型的属性 当我序列化它时 它效果很好 但是 如果类型是接口而不是类 我会收到以下错误 一旦为 ConsoleApplica
  • 单击链接时如何切换复选框?

    我正在尝试做一个非常简单的HTML 电子邮件中的复选框 hack https youtu be 38pcplCDOng进行一些基本的电子邮件内交互 像下面这样
  • Node.js 大型应用程序的可靠性

    我是 Node js 的新手 目前正在质疑它的可靠性 根据我到目前为止所看到的 似乎存在一个重大缺陷 任何未捕获的错误 异常都会导致服务器崩溃 当然 您可以尝试对代码进行防弹保护或将 try catch 放在关键区域 但几乎总会有错误被漏掉
  • 在django中上传图像时如何更改图像格式?

    当用户从 Django 管理面板上传图像时 我想将图像格式更改为 webp 我已经重写了模型的保存方法 Webp 文件在 media banner 文件夹中生成 但生成的文件未保存在数据库中 我怎样才能做到这一点 def save self
  • 无法将应用程序上传到 Chrome 网上应用店 - “此项目不是应用程序,请从清单中删除应用程序部分。”

    上传我的应用程序时 我不断收到此错误 发生错误 无法处理您的项目 该项目不是应用程序 请从清单中删除应用程序部分 这是我的 Chrome 应用程序的清单文件 基于开始使用 你好世界 https developer chrome com ap
  • Angular2 与 video.js 错误没有兼容的源

    视频 错误 代码 4 MEDIA ERR SRC NOT SUPPORTED 找不到该视频的兼容源 我正在尝试在 Angular 2 项目中播放视频 这是我的代码 import Component ElementRef OnInit OnD
  • 如何使用 Python 中的 Perl 模块?

    有一个 Perl 模块可以为我的 Python 应用程序提供完美的功能 我有什么办法可以利用它吗 这是复杂的 我需要一个月的时间来移植它 我不想为每次使用都生成一个子进程 因为我需要它数十万次 它是一种特定类型的数据解析器 谢谢你的建议 编
  • 如何使用flavorDimensions为每种口味组合设置不同的applicationId?

    我有一个旧的 Android 应用程序 我正在尝试将其迁移到 Android gradle 构建系统 该应用程序目前构建在多项目设置中 并作为四个不同的应用程序发布 包括两个不同的数据集以及两个数据集的免费 付费版本 我已经通过使用flav
  • 游标用前一行和当前行的值更新行

    各位查询作者 我有一个表如下 myTable t1 col2 col3 2 1 3 0 4 0 5 0 6 0 我想用前一行中 col3 的值加上当前行中 col2 的值来更新 col3 上的每个零 所以我的桌子会像下面这样 myTable
  • 使用 BizTalk 代替 NServiceBus 或 MassTransit 的优点/缺点

    我很好奇它是否考虑使用 BizTalk 来实现 pub sub 消息传递架构 基本上我真正需要的就是你可以使用 NServiceBus 或 MassTransit 做的事情 我的经理倾向于坚持使用直接从 Microsoft 提供的框架 因此
  • 谷歌地图:隐藏国家边界

    我相当确定geometry stroke允许在地图上隐藏国家边界的选项 featureType administrative country elementType geometry stroke stylers visibility of
  • 抢占的中断处理程序会发生什么?

    即使在一些写得很好的内核书籍中 我也找不到以下问题的正确答案 他们说 ISR 无法休眠 因为它无法重新调度 ISR 因为它没有与任何进程连接 那么当更高优先级的中断抢占正在执行的中断时会发生什么 中断的 ISR 不会再次重新调度 执行 如果
  • 验证十进制 (18,3) 的正则表达式 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要一个可以验证的正则表达式Decimal 18 3 表示精度为 18 小数位数为 3 它需要通过以下标准 逗号前的最大位数为15 逗号
  • 如何在节点中将图形渲染为图像

    我想在服务器上以图像格式呈现堆叠条形图 预期用途是推送到像 twitter 这样不支持 SVG 的服务 以及可部署到 Heroku 等服务的代码 我已经尝试过 Plotly 他们的节点包已经过时了 而且他们的 API 文档也很差 我还查看了
  • 代码OSS不执行Jupyter笔记本

    在我的 Arch 系统上 我安装了 jupyter notebook 版本 6 4 4 和 Code OSS 版本 1 61 0 带有 Python v2021 9 1246542782 扩展和 Jupyter v2021 9 100 扩展
  • 如何在 Swift 中访问应用程序包中包含的文件?

    我知道有一些与此相关的问题 但它们是在 Objective C 中的 我怎样才能访问 txt使用 Swift 包含在我的应用程序中的文件在实际的 iPhone 上 我希望能够从中读取和写入 Here https github com gho