Swift在加载tableView之前创建自定义单元格的实例?

时间:2015-06-03 00:40:45

标签: ios uitableview swift storyboard tableviewcell

我遇到了一个问题。我创建了一个包含2个原型单元格的动态tableView。如果你能想象说一个Instagram个人资料。它包含有关用户的信息,而下方则包含所有帖子的摘要。所以我通过制作一个包含2个单元格的tableView来重新创建该UI,其中一个是第一个单元格的轮廓部分,然后是从您创建的每个帖子生成的所有单元格。问题是我为viewController的viewDidLoad和viewWillAppear中的第一个单元加载用户信息的逻辑很多,而不是自定义单元类。

因此,我遇到的麻烦是将自定义单元类中的出口与视图共享。我希望能够从自定义单元格访问出口,并在加载表格之前为它们提供标题,文本,颜色等。反正有没有这样做?你如何预加载自定义单元格?我希望你可以让一个单元格不可重复使用,这样我就可以将出口连接到viewController并避免出口无法连接到重复内容"错误。第一个单元格不会重复特定于加载页面的用户的内容。所以idk做什么,有什么建议吗?我尝试将第一个单元格放入posts表格上方的视图(不是表格单元格)中,但是它们不会在页面上一起滚动。

1 个答案:

答案 0 :(得分:0)

  

我为viewController的viewDidLoad和viewWillAppear中的第一个单元格加载用户信息的逻辑很多,而不是自定义单元格类。

没关系。

  

我希望能够从自定义单元格访问插座,并在加载表格之前为其提供标题,文字,颜色等

但没有必要。看,你混淆了MVC的各个部分 - 模型,视图,控制器。自定义单元格是 view 。你在这里所做的只是设置界面,并且在cellForRowAtIndexPath:中就像每个单元格一样,没有延迟,没有伤害,没有混淆。

至于事先准备好信息,那就完全没问题 - 那就是模型。你可以随时自由地做到这一点,而你提前做到这一点的愿望是完全合理的。

但是将该模型信息移交给视图,即 controller ,并且使用表格视图,这样做的时刻是cellForRowAtIndexPath:。别担心,快乐。你不必预加载任何东西。

现在,如果问题是如何cellForRowAtIndexPath:中引用单元格中的接口位,则有很多方法,例如标记号,或者插座名称(使用自定义单元类)。但这是一个次要的实施细节。你的问题是架构,而在架构上,你正在做的事情非常好。