我如何让多个.xib文件共享一个共同的支持类Swift 3 iOS?

时间:2017-08-23 22:05:37

标签: swift uiview xib abstract iboutlet

我有一个课程,我们称之为MyView,用扩展UIView的Swift 3编写。 我有两个视图.xib s,我们称之为:{   * MyViewStandalone.xib
  * MyViewEmbedded.xib

在两个视图中,行为应该是100%相同,但它们看起来完全不同。 每个笔尖中有四个@IBOutlet个(ImageView,一个UIView和两个UILabel s。

每当我尝试将“文件所有者”设置为MyView时,我都会收到此运行时错误: *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Blah.MyView 0x7f8e7d4427d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key errorBannerLabel.'

到目前为止我所做的(但不满意)是将MyView子类化为MyViewStandalone.swiftMyViewEmbedded.swift,它们都拥有自己的@IBOutlet个。

然后我添加了四个吸气剂: func getErrorLabel() -> UILabel func getHeroImage() -> UIImageView 等...

然后,在基类中,不是直接调用视图元素,而是通过这些getter完成所有交互。

我的第一个想法是在基类中实现getter并将它们标记为 Abstract ,但我们在Swift中没有。

你会怎么做?这通常是怎么做的? 酷孩子如何解决这样的问题?

0 个答案:

没有答案