Swift告诉我我的文件不存在,不幸的是我自己找不到该目录。我是否错误地将URL用作资源方法,还是只需要找到一种方法来删除可选的括号?当我直接引用该对象时,它可以工作,但是我需要找到一种方法来创建队友也可以使用的路径。
override func setUp()
{
super.setUp()
let bundleURL = NSBundle.mainBundle().URLForResource("meetingexample", withExtension: "ics")
let eventsFile = NSURL(fileURLWithPath: ("\(bundleURL)"))
//let eventsFile = NSURL(fileURLWithPath: docFolderURL.URLByAppendingPathComponent("/meetingexample.ics"))
content = try! String(contentsOfURL: eventsFile, encoding: NSUTF8StringEncoding)
}
bundleURL的打印:
可选(文件:/Users/GB112922/Library/Developer/CoreSimulator/Devices/EF6A2594-6B31-4E38-B46D-2F3AAAF25210/data/Containers/Bundle/Application/35E04003-072F-476E-957E-98C70B792539/CallIn.app/meetingexample .ics)`
最佳答案
您有两个问题:"\(bundleURL)"
在NSURL
多余文本中包装Optional(...)
的值。URLForResource
已经在给您一个NSURL
。无需从中创建另一个NSURL
。
只需使用bundleURL
。不需要eventsFile
变量。
override func setUp()
{
super.setUp()
let bundleURL = NSBundle.mainBundle().URLForResource("meetingexample", withExtension: "ics")
content = try! String(contentsOfURL: bundleURL, encoding: NSUTF8StringEncoding)
}
关于ios - 为什么Swift无法识别我的资源?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35067935/