Ios UITableView完成加载后,我可以调用函数吗?

Ios UITableView完成加载后,我可以调用函数吗?,ios,iphone,swift,uitableview,ipad,Ios,Iphone,Swift,Uitableview,Ipad,我想根据表中某些行包含的文本更改其附件类型。我认为这样做的一种方法是,当表加载后,我可以遍历该表并检查每个单元格是否符合我的条件。当UITableView加载完毕后,我不知道如何调用函数。在返回单元格之前,您必须先在同一函数中签入cellForRowAtIndexPath并更新附件视图 由于tableView没有此类事件,因此加载完成后可能会发生 func tableView(_tableView: UITableView, cellForRowAtIndexPat

我想根据表中某些行包含的文本更改其附件类型。我认为这样做的一种方法是,当表加载后,我可以遍历该表并检查每个单元格是否符合我的条件。当UITableView加载完毕后,我不知道如何调用函数。

在返回单元格之前,您必须先在同一函数中签入cellForRowAtIndexPath并更新附件视图


由于tableView没有此类事件,因此加载完成后可能会发生

func tableView(_tableView: UITableView,
               cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{

    ///Cell Creation Code


    if indexPath.row == data.count{
        //call method asynchronously to indicate table finished loading
    }

    //return cell
}

但这同样取决于您有多少行作为数据…

UITableView只加载屏幕上可见的行,这是一个很好的功能,因为它不需要一次生成所有行,这意味着更低的内存使用率和更好的性能。因此,不存在UITableView完成加载的概念,因为它从未完成加载。想象一下,如果您有20行,而屏幕上只显示8行,用户可以向上或向下滚动,从而显示新行,回收旧行。正如其他人所说,这样做的地方是在cellForRowAtIndexPath上设置单元格时。

尝试此委托方法,调用此方法时,文本已经在单元格中,您可以测试它并添加或删除附件。从文档中:

讨论 表视图在使用单元格绘制行之前将此消息发送给其委托,从而允许委托在显示单元格对象之前对其进行自定义。此方法使代理有机会覆盖先前由表视图设置的基于状态的属性,例如选择和背景色。代理返回后,表视图仅设置alpha和frame属性,然后仅设置行滑入或滑出时的动画


您可以异步地调用该方法

在你的内心

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    if indexPath.row == data.count-1{
    // Declare your cells here
    }

}

谢谢!工作得很有魅力!
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    if indexPath.row == data.count-1{
    // Declare your cells here
    }

}