gpt4 book ai didi

ios - Swift,无法转换类型的值

转载 作者:IT王子 更新时间:2023-10-29 05:17:25 24 4
gpt4 key购买 nike

我创建了 UICollectionViewController 的子类并将其命名为 LibraryCollectionViewController,并标记了项目和测试的两个复选框。此外,它的 Storyboard ID 是 LibraryCollectionViewController 并在界面生成器上设置其对应的类。

作为 SwiftiOS 测试 的新手,我尝试在我的测试用例中实例化所述 View Controller ,如下所示:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let libraryCollectionVC = storyboard.instantiateViewControllerWithIdentifier("LibraryCollectionViewController") as! LibraryCollectionViewController

我收到以下错误:

Could not cast value of type 'MyApp.LibraryCollectionViewController' (0x1010b01f0) to 'MyAppTests.LibraryCollectionViewController' (0x10bd7f580).

所以很明显它不是转换,但由于我对 Swift 还是新手,我发现自己无法确定错误本身是否是由以下原因引起的:

  1. 我在创建子类时做错了,我引用了另一个子类(因此 MyApp.[vc] 与 MyAppTests.[vc])
  2. 使用 as! 的转换不正确
  3. 任何其他原因

任何帮助将不胜感激,在此先感谢。

更新 1: 当我创建 View Controller 时,最后一步在 Target header 下显示了 2 个复选框,我启用了它们,这可能是原因?

最佳答案

我的问题是我在单元测试中引用了 NSBundle.mainBundle() 而我需要使用:

let bundle = Bundle(for: self.classForCoder)

关于ios - Swift,无法转换类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29831587/

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