gpt4 book ai didi

ios - 使用 Set 时,Swift 2.0 : Could not cast value MyApp. MyCustomClass 到 MyAppTests.MyCustomClass

转载 作者:IT王子 更新时间:2023-10-29 05:06:42 41 4
gpt4 key购买 nike

这是一个错误:

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

您可以通过简单的方式重现错误:

  1. 设置两个NSManagedObject

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

    @objc(Family)
    class Family: NSManagedObject {
    @NSManaged var members: Set<Member>
    }
  2. 也在您的 .xcdatamodel 中进行设置:

  3. 然后在您的测试文件中:

    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!!!!

关于ios - 使用 Set 时,Swift 2.0 : Could not cast value MyApp. MyCustomClass 到 MyAppTests.MyCustomClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089389/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com