加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – Swift 2.0:使用Set时,无法将值MyApp.MyCustomClass转换

发布时间:2020-12-15 02:04:37 所属栏目:百科 来源:网络整理
导读:这是一个错误: Could not cast value of type MyApp.Member (0x1674daf8) to MyAppTests.Member (0x4c07248). 您可以轻松地重现错误: 设置两个NSManagedObject @objc(Member)class Member: NSManagedObject { @NSManaged var family: Family}@objc(Family)
这是一个错误:

Could not cast value of type MyApp.Member (0x1674daf8) to MyAppTests.Member (0x4c07248).

您可以轻松地重现错误:

>设置两个NSManagedObject

@objc(Member)
class Member: NSManagedObject {
    @NSManaged var family: Family
}

@objc(Family)
class Family: NSManagedObject {
    @NSManaged var members: Set<Member>
}

>也可以在.xcdatamodel中设置它:
>然后在你的TestFile中:

func testA() {

    let family = Family.MR_createEntityInContext(context)
    let father = Member.MR_createEntityInContext(context)

    father.family = family

    let firstMember = family.members.first

    XCTAssertEqual(firstMember!,father)
}

解决方法

我找到了一个解决方案:

我认为那些有这个问题的人把他们的文件导入到这个测试对象:

enter image description here

因为他们应该这样做:

enter image description here

所以,只需从测试目标中删除文件。然后,如果您需要在测试目标中的文件,只需在每个测试类中使用@testable关键字。

enter image description here

这样就不用再在目标之间投射值了。它为我工作:-)享受:-)

阅读更多从Swift 2 + Xcode 7: Unit Testing Access Made Easy!!!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读