gpt4 book ai didi

ios - 适用于 UITableViewDataSource 的数据表示

转载 作者:行者123 更新时间:2023-11-28 20:21:30 26 4
gpt4 key购买 nike

目前,我在我的应用程序中设置了以下内容:

例如,我有一个游戏列表,其中的游戏有不同的状态,我希望某个状态位于某个部分等。

因为我有 3 种不同的状态,所以我将使用 NSDictionary,其中 State 作为键,Array 作为值,并将具有特定状态的特定游戏放入正确的数组中。

然后我的 numberOfRowsInSection 代码将是这样的:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSString* state = [self getStateForSection:section];
return [[obj objectForKey:state] count];
}

问题是我不喜欢将对象放在数组中,从那时起,每当我想访问某个匹配项时,我都必须查看整个数组。

相反,我希望将所有匹配项都放在一个 NSDictionary 中,并将 matchID 作为键,将 NSDictionary 作为值(匹配项)。

但是在 UITableView 中我该怎么做呢?

我可以做一些事情,返回我的 NSDictionary 的所有键,但我仍然必须迭代它以找到它们的当前状态并将它们的键添加到适当的列表中?

最佳答案

你也可以构建一个 NSDictionary来自 matchIDmatch另一方面,只需重复使用相同的对象并保留 NSDictionaryNSArray仅用于表数据源。那么问题是当数据发生变化时你必须更新两者。您可能还想查看 NSArray filteredArrayUsingPredicate:

另一种可能性是使用另一种称为 sorted dictionary 的数据结构。它以特定顺序保存其 key 。这样你就可以要求所有值作为表格 View 的数组并获得一个恒定的顺序,但仍然能够使用 matchID 进行查找。直接到match .

关于ios - 适用于 UITableViewDataSource 的数据表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15721327/

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