Swift - 获取测试目标的NSBundle?
问题描述:
在Objective C中,每当我访问测试包我会打电话Swift - 获取测试目标的NSBundle?
[NSBundle bundleForClass:[ClassInTestTarget class]];
bundleForClass
不斯威夫特用,所以我怎么访问测试包?
我需要这个的原因是,为了编写我正在研究的框架的测试,我必须使用内存核心数据堆栈。最初,所有的资源都包含在这两个主要目标和测试目标,但后来我感动了所有这些测试帮助者只测试目标,现在下面的代码返回nil它失败了所有的考试
let modelURL = NSBundle.mainBundle().URLForResource("Model", withExtension: "momd")
答
对应的银行代码是
// Swift 3 and later:
Bundle(for: ClassInTestTarget.self)
// Swift 1, 2:
NSBundle(forClass: ClassInTestTarget.self)
ClassInTestTarget.self
收益类对象为 “ClassInTestTarget” 级。
这工作:http://stackoverflow.com/questions/24403718/swift-equivalent-objective-c-runtime-class – 2015-06-30 22:38:14
我有这个工作在一些类,但在其他人,它返回捆绑'/应用程序/ Xcode .app /目录/ Developer/usr/bin'路径。任何想法为什么/如何解决它? – 2016-06-27 21:28:22
具体 - 只发生在泛型类... – 2016-06-27 21:44:41