gpt4 book ai didi

ios - 从 Objective-C 加载基于 Swift 的 UIViewController

转载 作者:搜寻专家 更新时间:2023-11-01 07:32:44 25 4
gpt4 key购买 nike

我正在尝试加载一个 View Controller nib,其 File's Owner 是一个基于 Swift 的 UIViewController 类。此时的 View Controller 非常简单——只有一个标签 (lblResult),其内容在运行时设置。加载 View Controller 时,出现以下错误:

this class is not key value coding-compliant for the key lblResult

我知道这通常是因为文件的所有者没有在 Interface Builder 中设置,但是,在我的例子中它是设置的。我已验证 lblResult 的 IBOUtlet 已正确设置,并且 View 属性也已正确设置。这里唯一真正的区别是我试图在用 Objective-C 编写的应用程序中加载基于 swift 的 View Controller 。

在我的 View Controller 类中,我将 UILabel 属性设置如下:

@IBOutlet weak var lblResult: UILabel!

并将其值设置如下:

lblResult.text = "Time \(hour):\(minute):\(second)"

在我的 Obj-C 调用类中,我按如下方式实例化 View Controller :

viewController = [[UIViewController alloc] initWithNibName:@"SwfViewController" bundle:nil];

当没有设置 outlets 时,nib 加载到 View 中,但是当有 IBOutlets 时,我得到错误。关于为什么会发生这种情况的任何线索?谢谢!

最佳答案

如果您的 nib 是一个 View 并且所有者是一个 View Controller ,请确保将您的 View Controller 的 view 属性连接到 nib View 。如果您的 nib 是一个 View Controller ,而不是设置文件所有者,只需将 View Controller 的 Custom Class 设置为 SwfViewController。

关于ios - 从 Objective-C 加载基于 Swift 的 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31541216/

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