美文网首页
XLForm填坑

XLForm填坑

作者: Eveloson | 来源:发表于2017-06-28 14:57 被阅读0次

    一直以为cellConfig和cellConfigAtConfigure的作用是相同的,都是用来设置row的属性的,今天发现并非如此。

    在row.onChangeBlock中通过cellConfigAtConfigure改变row的文本颜色,发现并不起作用,开始以为是忘记reloadFormRow的缘故,添上问题依旧,后来发现通过cellConfig改变row的属性可以成功,但不知道原因着实心烦,根本没必要存在两个功能相同名字不同的方法,这不符合低冗余的思想,google了一番发现果然还是有区别的

    The properties cellConfig and cellConfigAtConfigure are completely different. There are some scenarios in which no matter which method you use you will get the same result.

    cellConfigAtConfigure is used right after [[cell alloc] init] is invoked (take a look here), once per UITableViewCell.

    cellConfig is used from inside tableView:cellForRowAtIndexpath:method, each time the cell will be shown.

    Based on that,cellConfiggives us the ability to override properties that are set up fromupdate methodand configure the cell properties based on context values (for example the value of another row).

    cellConfigAtConfiguregive us the ability to set up a property only once at memory allocation time. All the properties that are not set up in the update method can be set up usingcellConfigAtConfigure

    翻译如下:

    cellConfig和cellConfigAtConfigure的属性是完全不同的。在某些情况下,无论使用哪种方法,都会得到相同的结果。

    在调用[[cell alloc] init]之后使用cellConfigAtConfigure(请看这里),每个UITableViewCell一次。

    cellConfig从tableView中使用:cellForRowAtIndexpath:方法,每次单元格显示时。

    基于此,cellConfig使我们能够覆盖从更新方法设置的属性,并根据上下文值(例如另一行的值)配置单元属性。

    cellConfigAtConfigure使我们能够在内存分配时间仅设置一次属性。更新方法中未设置的所有属性都可以使用cellConfigAtConfigure进行设置

    大致意思就是,cellConfigAtConfigure只在初始化cell的时候设置属性,而cellConfig不仅在初始化的时候赋值,还在更新cell的时候重新设置属性。

    相关文章

      网友评论

          本文标题:XLForm填坑

          本文链接:https://www.haomeiwen.com/subject/wryucxtx.html