如何确定Swift代码是否在XCode Playground中运行
发布时间:2020-12-14 02:23:54 所属栏目:百科 来源:网络整理
导读:我正在编写一个简单的应用程序,在 Swift中读取CSV文件,我希望能够在Playground中使用相同的代码,并将其作为swift命令的输入文件. 要在Playground中读取文件,我必须使用此代码 let filePath = XCPlaygroundSharedDataDirectoryURL.URLByAppendingPathComponen
我正在编写一个简单的应用程序,在
Swift中读取CSV文件,我希望能够在Playground中使用相同的代码,并将其作为swift命令的输入文件.
要在Playground中读取文件,我必须使用此代码 let filePath = XCPlaygroundSharedDataDirectoryURL.URLByAppendingPathComponent("data.csv") 我希望实现以下目标: #if PLAYGROUND import XCPlayground let filePath = XCPlaygroundSharedDataDirectoryURL.URLByAppendingPathComponent("data.csv") #else let filePath = NSURL.fileURLWithPath("data.csv") #endif
测试很简单:
let bundleId = NSBundle.mainBundle().bundleIdentifier ?? "" if bundleId.hasPrefix("com.apple.dt"){ //... Your code } 但是我认为你已经看到了问题,一旦你做完了……导入将停止其他地方的构建.我怀疑你正在尝试为你构建的框架构建一个游乐场(如果不是,我不太确定如何共享代码)…我在框架中解决它的方式是提供一个可选的回调挂钩我想要得到的价值……例如 在框架中 public defaultUrlHook : (()->NSURL)? = nil internal var defaultUrl : NSURL { return defaultUrlHook?() ?? NSURL.fileURLWithPath("data.csv") } 在操场上 import XCPlayground import YourFramework defaultUrlHook = { ()->NSURL in return XCPlaygroundSharedDataDirectoryURL.URLByAppendingPathComponent("data.csv") } //Do your thing.... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |