【问题标题】:NSData(contentsOfFile: "someexistingfile") returns nil in PlaygroundNSData(contentsOfFile: "someexistingfile") 在 Playground 中返回 nil
【发布时间】:2015-01-05 00:47:15
【问题描述】:

上面在 Playground 中返回 nil 是否有充分的理由?在 AppDelegate 中运行时,语句返回文件内容,但在 Playground 中为 nil。这只是苹果公司的另一个愚蠢的错误吗?或者只是我没有找到说明这是不允许的文档?

【问题讨论】:

  • 您是否指定了文件的绝对路径?如果没有,您可以在 Playground 中使用 let myPath = NSFileManager.defaultManager().currentDirectoryPath 查看默认位置。

标签: file swift nsdata swift-playground


【解决方案1】:

这是一个游乐场示例,我在报告的路径中创建了一个名为“test”的文件:

let myPath = NSFileManager.defaultManager().currentDirectoryPath
let theData = NSData(contentsOfFile: "test")
let aString = NSString(data: theData!, encoding:4)

它显示...

“/Users/phil/Library/Containers/com.apple.dt.playground.stub.OSX.MyPlayground-C3A89455-96BA-4D37-A079-5893ED07EC92/Data”

{NSConcreteData}

{一些“一些文字\n\n”}

...作为生成的结果。

【讨论】:

  • 感谢您的尝试。但如前所述,NSData 给出了 nil。我终于想通了 Playground 帽子打嗝。请参阅我自己的答案。
  • 我的目的是证明(为了我自己,如果没有其他人的话)这是一件有效的事情。
  • 我知道并感谢这一点。最后,正如我在回答中所描述的那样,这让我重新启动了 XCode。 XCode 原样:仍然是 PITA :-(
【解决方案2】:

原来 Playground 根本不愿意。嘘,苹果。我用了命令

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

让它再次运行。我在其他地方学到的收据。这也治愈了 XCode 的很多其他不情愿。

【讨论】:

    猜你喜欢
    • 2014-12-14
    • 2015-12-10
    • 2016-10-19
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 2015-08-31
    • 2016-09-04
    相关资源
    最近更新 更多