Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NSBundle.mainBundle().pathForResource返回零

NSBundle.mainBundle().pathForResource返回零
EN

Stack Overflow用户
提问于 2015-07-05 20:57:48
回答 7查看 49.4K关注 0票数 36

我试图为Swift编写一个简单的IO包装器。

为了测试这一点,我在我的项目根目录中有一个名为"Test.txt“的文件。

我添加了这个文件以在Bundle参考资料中构建阶段,正如其他有此问题的人所建议的那样。

我实现了一个非常简单的file类,其中包含一个read函数,目的是输出文件的内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class File2{
    let resourceName: String
    let type: String
    let bundle = NSBundle.mainBundle()


    init(resourceName: String, type: String = "txt"){
        self.resourceName = resourceName
        self.type = type
        println(self.bundle)
    }

    func read(){
        let path = self.bundle.pathForResource("Test.txt", ofType: "txt") //Hard coded these in just to make sure Strings contained no whitespace
        println(path) //This returns nil...why?
        var error:NSError?
        //print(String(contentsOfFile:path!, encoding:NSUTF8StringEncoding, error: &error)!)
        //return String(contentsOfFile:path!, encoding:NSUTF8StringEncoding, error: &error)!
    }
}

当我打印包的内容时,我得到一个URI到我的文件系统上的特定位置,我假设它是模拟器中应用程序的虚拟位置。导航到它会发现它确实包含我的"Test.txt“文件。

现在我要做的就是找到那个文件的路径。

我这样做是通过调用:self.bundle.pathForResource("Test.txt", ofType: "txt")

返回“零”。

为什么?:)

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-07-05 21:02:24

不要将.txt包含在name参数中,将其作为扩展参数传递。

来自documentation

扩展 要定位的文件的文件扩展名。 如果指定空字符串或零,则假定扩展名不存在,并且该文件是遇到的第一个与名称完全匹配的文件。

Swift3

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let bundle = Bundle.main
let path = bundle.path(forResource: "Test", ofType: "txt")

Swift1 & Swift2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let bundle = NSBundle.mainBundle()
let path = self.bundle.pathForResource("Test", ofType: "txt")

Objective-C

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NSBundle* bundle = [NSBundle mainBundle];
NSString* path = [bundle pathForResource:@"Test" ofType:@"txt"];
票数 67
EN

Stack Overflow用户

发布于 2016-09-21 05:49:06

在斯威夫特3.0中,用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let path = Bundle.main.path(forResource: "Test", ofType: "txt")
票数 18
EN

Stack Overflow用户

发布于 2015-07-05 21:13:10

替换你的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 let path = self.bundle.pathForResource("Test.txt", ofType: "txt") 

使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let path = NSBundle.mainBundle().pathForResource("Test", ofType: "txt") 
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31238031

复制
相关文章
iOS后台播放声音
或者在项目的图形化配置界面的Info项添加如下 Required background modes 类型为 Array 添加子项App plays audio or streams audio/video using AirPlay
码客说
2019/10/22
1.6K0
ISO swift下XML数据解析
import UIKit class ViewController: UIViewController ,NSXMLParserDelegate{ override func viewDidLoad() { super.viewDidLoad() //创建XMLParser对象,传入XML格式的数据文件 // var parser=NSXMLParser(contentsOfURL: NSURL(fileURLWithPath: NS
用户7108768
2021/10/29
1.1K0
优美整洁的引导页大神框架Onboard
<code>Onboard</code>是现在github最火的引导页框架,star已经近5k,我觉得这框架挺有意思。 导语 <code>Onboard:</code>一个只用几行代码就可轻松创建
Dwyane
2018/05/22
2K0
python后的返回值为零
python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零python后的返回值为零
狼啸风云
2019/03/15
1.7K0
python后的返回值为零
iOS小技能:APP内的本地化语言切换(案例:登录界面切换中英文)
选 make Localize代表会将Localizable.strings加入到英语的本地化文件夹en.lproj中去
公众号iOS逆向
2022/08/22
3.2K0
iOS小技能:APP内的本地化语言切换(案例:登录界面切换中英文)
Swift学习笔记
这是一篇学习swift的笔记 Objective-C是很好的语言,Runtime机制、消息机制等也是爱不释手。 Swift一直在更新,闲暇时间学一遍。学习的Blog:《从零开始学swift》 以下代码全部在playground进行的尝试 变量 let 是常量 var 是变量 不能修改的使用常量可以提高程序的可读性。 var str = "Hello, playground" print(str) let constA:Int = 12 let constB = 12 let constC = 12
落影
2018/04/27
1.4K0
Swift学习笔记
python2 nonlocal_python非零返回
nonlocal 可以将一个变量声明为非本地变量, 在python的lru_cache看到了使用
全栈程序员站长
2022/10/04
4190
[swift]读取svg图片为UIBezierPath,开心做动画
最近手痒又想整点动画玩玩,但是想了几个主意发现稍微复杂一点的手写都一定会累爆。这篇文章记录一下今天折腾的一个方案。说来简单,就是用矢量设计工具舒舒服服的做好设计,然后输出成 svg 格式,再用 NSXMLParser 去读出来,转换成 UIBezierPath ,然后就天高任鸟飞~
Alan Zhang
2018/10/19
1.6K0
[swift]读取svg图片为UIBezierPath,开心做动画
iOS 后台任务
仅当你的app是真的提供给用户音频播放功能,你才能使用音频后台模式。 若我们抱有侥幸心理,为了获得CPU更多时间而利用该模式播放一段无声的音频,apple将会拒绝此类app。 同样的当语音播放完毕之后程序同样会挂起
码客说
2019/10/22
6820
零基础开发 Node.js Addons 插件:参数与返回值处理
上一篇回顾 零基础开发 Node.js Addons 插件:Hello Node-API。本篇介绍使用 Node-API 为 Node.js 开发基于 C 的 Addons 时,如何接收与处理 Node.js 层传递的参数、Node-API 参数类型如何与 C 的类型互转、使用 CMake.js 构建源码。
五月君
2022/04/06
1.3K0
零基础开发 Node.js Addons 插件:参数与返回值处理
在iOS中怎样创建可展开的Table View?(上)
几乎所有的app都有一个共同特征,它们向用户提供了多个视图控制器来导航和工作.这些视图控制器可以用在很多方面,例如,简单地显示某种信息在屏幕上,或者从用户的输入收集复杂的数据.为不同功能的app创建新的视图控制器经常是强制性的,并且好几次都是有点让人退缩的任务.然而,如果你只是使用可展开的tableview,有时也可能避免创建视图控制器(以及在storyboard中它们各自的场景).
hrscy
2018/08/30
1.8K0
在iOS中怎样创建可展开的Table View?(上)
DataInputStream.readUTF返回返回EOFException
DataInputStream.readUTF能读取的数据不是一般的数据,实际使用的也不多,一般会配合DataOutStream.writeUTF配合使用,一般的字符串不要使用readUTF读取,否则就会报EOFException的异常,至于为什么会出现这个问题,看下DataInputStream.readUTF以及DataOutStream.writeUTF的源码来解释下:
johnhuster的分享
2022/03/28
1.2K0
返回索引
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
算法与编程之美
2022/04/08
9860
Fragment 点击返回键 做返回操作
在Fragment中点击返回键,做一些更新页面的操作,我就遇到了这个问题(NC客户)总点返回键,然后跟我说怎么我按返回键没反应呢,按连续按2次就要退出了?哼?你是怎么做的啊?
全栈程序员站长
2021/04/07
1.8K0
http返回错误状态_状态码返回0
代码里面我刚刚开始的时候使用的是HttpPost发的请求,另外一边呢,刚刚开始的时候只有一个get请求在那等着呢。
全栈程序员站长
2022/11/01
2.5K0
http返回错误状态_状态码返回0
mybatis返回结果类型(resulttype返回list)
这样设置返回类型为resultClass=”java.util.HashMap”,查询时执行queryForList
全栈程序员站长
2022/08/01
5.7K0
百度语音识别 语音唤醒失败
半夜起来给小朋友冲奶粉,于是忽然想到了那个在机柜里落灰的树莓派。当时用百度的语音识别和合成用python实现了一些功能。但是并没有实现语音唤醒,于是要想实现语音唤醒就只能不断的轮询接口,然后发送到百度云进行识别。但是觉得这种方式太坑了,什么都上传了,感觉随时在被监听一样。今天又看了下百度的sdk发现支持语音唤醒了。还能自定义唤醒词。
obaby
2023/02/23
2.1K0
css实现返回顶部,实现返回顶部效果
注意那个箭头不是使用的图标,而是使用的一个字体样式(layui-icon)去实现的
全栈程序员站长
2022/09/14
2.1K0
css实现返回顶部,实现返回顶部效果
java数组返回元素位置_把返回值用数组形式返回java
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
2.1K0
mybatis返回对象_存储过程不能返回结果
在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map”) ,如果是多条数据则返回一个List<Map<String, Object>>结果集。
全栈程序员站长
2022/11/09
1.8K0
mybatis返回对象_存储过程不能返回结果

相似问题

NSBundle pathForResource:返回零

11

NSBundle pathForResource返回零?

12

NSBundle.mainBundle()返回零

14

pathForResource ofType返回零

20

Swift NSBundle pathForResource()返回零

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文