【问题标题】:Is dataSource of UITableView exactly a delegate design pattern like the table information provider delegate?UITableView 的 dataSource 是不是和表信息提供者委托一样的委托设计模式?
【发布时间】:2012-08-28 22:43:08
【问题描述】:

UITableView 对象有两个属性:一个delegate,一个dataSource。它们是完全相同的设计模式吗?我没有看到将dataSource 称为UITableView 的第二个代表的书籍或参考资料。

【问题讨论】:

    标签: ios uitableview design-patterns


    【解决方案1】:

    不,它们不是一回事,但它们使用的是委托模式。

    他们都是不同且不同的代表,用于不同的目的。一个属性用于 UITableViewDataSource,另一个用于 UITableViewDelegate。

    这是它们在 UITableView.h 中的定义方式:

    @property(nonatomic, assign) id<UITableViewDataSource> dataSource
    @property(nonatomic, assign) id<UITableViewDelegate> delegate
    

    委托模式非常简单,Wikipedia 条目总结得很好:

    在软件工程中,委托模式是一种设计模式 面向对象编程,其中一个对象,而不是执行一个 其声明的任务,将该任务委托给关联的助手 目的。有一个责任倒置,其中一个助手 被称为委托的对象被赋予执行任务的责任 委托人的任务。委托模式是其中一种 作为其他软件模式基础的基本抽象模式 例如组合(也称为聚合)、mixins 和 方面。

    【讨论】:

    • 似乎书籍或参考文献“不敢”将dataSource称为“代表”,所以我想知道为什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    相关资源
    最近更新 更多