创建自定义类并从Storyboad添加到我的ViewController中?

时间:2019-07-07 15:28:48

标签: swift storyboard

我只是从旧项目中复制代码。我发现了一些奇怪的东西,但我不知道该怎么做。我只想创建如下图所示的“ 图表视图模型”。我也需要一个插座。 enter image description here

enter image description here

还有一个相应的类。

class ChartModel: NSObject {
  // ..... 
}

我只想知道在故事板中使用模型的目的以及如何做到这一点。

1 个答案:

答案 0 :(得分:1)

您是否曾经将手势识别器放入情节提要场景中?这是完全平行的。笔尖的加载实例化了手势识别器并将其附加到视图,因此您不必在代码中进行操作。这就是这里发生的事情。

任何 NSObject子类都可以实例化为nib对象。在库中找到对象:

enter image description here

将其从库中拖入场景;选择它,并将其在身份检查器中的类更改为所需的类(ChartModel)。

现在,您将面临一个问题,即在笔尖加载时创建该实例会发生什么情况。在iOS上,除非有其他人保留,否则它会冒烟而消失。通常的解决方案是您还有一些其他笔尖对象,并带有该对象的出口。现在,当笔尖加载时,将实例化对象并将其分配给另一个笔尖对象中的相应属性。那就是您的门店所做的:

@IBOutlet var chartViewModel : ChartModel!

好的,但是到目前为止,这完全等同于说

var chartViewModel = ChartModel()

仅仅是,我们没有在代码中实例化ChartModel,而是通过加载笔尖实例化了它。

那为什么首先要这么做呢?为什么要从笔尖而不是代码中实例化此ChartModel?仅当ChartModel itself 具有可在笔尖中配置的出口时,这才有意义。您没有向我们显示(您仅显示了class ChartModel声明的第一行),因此在这种情况下,我们无法详细说明实际目的是什么。

相关问题