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/

10-14 14:07