【发布时间】:2015-10-11 00:50:09
【问题描述】:
我正在尝试加载其文件所有者是基于 Swift 的 UIViewController 类的视图控制器笔尖。此时视图控制器非常简单——只有一个标签 (lblResult),其内容在运行时设置。加载视图控制器时,出现以下错误:
this class is not key value coding-compliant for the key lblResult
我知道这通常是因为没有在 Interface Builder 中设置文件的所有者,但是在我的情况下它是设置的。我已验证 lblResult 的 IBOUtlet 已正确设置,并且 view 属性也已正确设置。这里唯一真正的区别是我试图在一个用 Objective-C 编写的应用程序中加载基于 swift 的视图控制器。
在我的视图控制器类中,我将 UILabel 属性设置如下:
@IBOutlet weak var lblResult: UILabel!
并将其值设置如下:
lblResult.text = "Time \(hour):\(minute):\(second)"
在我的 Obj-C 调用类中,我按如下方式实例化视图控制器:
viewController = [[UIViewController alloc] initWithNibName:@"SwfViewController" bundle:nil];
当没有设置插座时,笔尖会加载到视图中,但是当有 IBOutlets 时,我会收到错误消息。关于为什么会发生这种情况的任何线索?谢谢!
【问题讨论】:
标签: ios objective-c swift interface-builder