如何在测试目标中访问Core Data生成的Obj-C类? [英] How to access Core Data generated Obj-C classes in test targets?
问题描述
我在Xcode 6中有一个Core Data / Swift Cocoa应用程序项目(我们称之为项目 Stuff
)。我创建了一个名为 Query
的核心数据实体,并使用Xcode为它创建一个 NSManagedObject
子类。
I have a Core Data / Swift Cocoa application project in Xcode 6 (let's call the project Stuff
). I created a Core Data entity called Query
and used Xcode to create an NSManagedObject
subclass for it.
在这一点上,Xcode 6提供了为我创建的桥接头,如预期,并创建 Stuff-Bridging-Header.h
。一旦我在桥接头中的 #importQuery.h
,我的模型对象 Query
目标Swift代码。
At that point, Xcode 6 offered to create the bridging header for me, as expected, and created Stuff-Bridging-Header.h
. Once I #import "Query.h"
in the bridging header, then my model object Query
is available in my app target Swift code.
如何使查询
核心数据对象(由Xcode生成的查询支持。 h和Query.m)可用于我的测试目标Swift代码, StuffTests
?我尝试手动创建头文件 StuffTests-Bridging-Header.h
并添加 #importQuery.h
但是我的Swift测试类无法解析 Query
类。
How do I make that Query
Core Data object (backed by the Xcode-generated Query.h and Query.m) available to my test target Swift code, StuffTests
? I tried manually creating a header file StuffTests-Bridging-Header.h
and adding #import "Query.h"
to it, but my Swift test class is unable to resolve the Query
class.
推荐答案
我有一个项目CoreData在纯Swift,没有桥接头文件和测试正在工作。
这是我已经设法做的:
I have a project with CoreData in pure Swift, no bridging header files and tests are working. Here's how I've managed to do:
我的项目名称是 cars ,我有一个NSManagedObject名为
My project name is cars and I have a NSManagedObject called Car
Car.swift:
Car.swift:
Car.swift文件目标会员:
Car.swift file Target Membership:
cars.xcdatamodeld数据模型检查器:
cars.xcdatamodeld Data Model Inspector:
这篇关于如何在测试目标中访问Core Data生成的Obj-C类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!