nib / xib文件是否意味着在不同的视图控制器中使用?

时间:2017-06-05 23:35:33

标签: ios swift xcode nib awakefromnib

我在youtube上观看了多个视频并购买了两本带解释的书(O'Reilly)。

似乎nib文件总是在一个视图控制器中使用。 文件所有者通常是将实现该nib的视图控制器。

我找不到在多个视图控制器中使用nib文件的示例。

我确实遇到过几个帖子,但是这些帖子已经找到了解决方法,但帖子很老,很多人都会发出警告。

我最初使用nib文件的冲动是因为我有一个在多个tableViewControllers中使用的表视图单元格。 tableViewCell是在storyboard中的一个TableViewControllers中原型化的。

我认为创建一个nib会将该单元与一个特定的TableViewController分离。

我不能说我真的理解了nib文件的目的。 它似乎与故事板非常相似。

我最终在代码中创建tableViewCell并在整个项目中重用它。

所以我的问题是用于nib文件的是什么?

它们是否用于将视图与特定视图控制器分离?

它们是否用于避免一个ViewController中的重复?

任何见解都会有所帮助。

1 个答案:

答案 0 :(得分:0)

是的,您可以在应用中的许多地方重复使用xib。

Xibs早于故事板并充当工厂,用于创建在Interface Builder中配置的UIView类的实例。使用它们来定义view的{​​{1}}及其子视图的布局和属性是一个常见的用例,但肯定不是唯一的用例。

可以重用xib的常见位置是它包含表或集合视图单元格。然后,您可以使用register(_ nib: UINib?, forCellWithReuseIdentifier identifier: String)在多个表或集合视图中注册该xib,以便在需要时加载单元格的实例。