gpt4 book ai didi

ios - 何时创建自定义数据源方法而不是设置变量

转载 作者:行者123 更新时间:2023-11-28 22:07:37 24 4
gpt4 key购买 nike

我有一个数据源数组,我希望将它提供给我的自定义 Controller 。有两种方法可以做到这一点:

1) 显而易见的方法是创建一个可以在类外部访问的属性数组,然后我会像这样通过 Controller 简单地设置该属性

[customController setDataSourceArray:myServerArray];

2) 创建一个数据源方法以及我创建的所有其他委托(delegate)方法,签名看起来像这样:

-(NSMutableArray)arrayForCustomControllerDataSource{
return myServerArray;
}

然后我用数据源方法返回的数组设置私有(private)属性数组

使用一种方法比使用另一种方法有什么优势吗?不仅仅是方便还是看起来更好?

我假设您使用第二种方法可以更好地控制,因为您可以进行一些预配置,根据返回的数组重置 Controller ,但您可以通过更改 setter 属性/方法来执行相同的操作,并且在其中添加额外的代码,那么真正的区别是什么,我应该在什么时候做什么?

最佳答案

标准做法,以 UIKit 的 UITableViewDataSource protocol 为例, 是 Controller (或者在 UITableView 的情况下, View )向数据源询问它需要的信息。

数据源通常也是 Controller 的一个属性。

@property (nonatomic, assign) id <CustomDataSource> dataSource;

所以当controller需要数据的时候:

NSArray *myData = [self.dataSource customServerArray];

关于ios - 何时创建自定义数据源方法而不是设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23548922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com