2

这个问题是关于处理信息数组的,有很多方法可以做到这一点,但我希望有更多经验的程序员提供一些意见,我知道我想要做什么,只是不知道如何以最好的方式组织信息,并且客观-C 真的让我思考这个问题,我不想让 100 个小时的工作时间做出决定,哎呀,这浪费了这种野兽般的方式。所以这里是:

我有一个网格,我在其中模拟一个运动场,网格的每一块我称为一个单元格。每个单元格有大约 20 个不同的值,都是整数,没什么特别的。对单元格的更改将由玩家输入或通过不同算法发生或由周围单元格发生。

一旦转弯完成,单元格的变化就会发生,所以它不是实时的。现在,我什至不确定是否使用 MutableArrays、普通数组或仅使用普通矩阵来执行此操作。数组擅长为一维保留此类信息,但我想如果您必须处理一批 10,000 个这样的单元格,那会变得非常麻烦。另一方面,一个简单的矩阵可能不那么优雅,但可能更容易使用。

任何见解将不胜感激。

4

1 回答 1

0

我看到这里有两个选择:

1) 使用标准容器

假设比赛场地的大小是恒定的,那么您可以创建一个 x*y 大小的可变数组,并用可变字典填充它。通过在第二个可变字典键中提供所有内容,您可以查询和设置它们的属性(当然是所有对象,因此将整数包装在 NSNumbers 等中)。对于索引,使用宏 INDEX_FROM_ROW_COL(row, col) 并应用适当的代码进行乘法/加法。

2) 创建一个从 NSObject 子类化的辅助对象。它将像上面那样管理可变对象,但您可以使用特定于您的应用程序的功能加载它。您可以提供具有“row:”和“col:”参数的方法。根据某些标准更改或设置每个单元格属性的方法。就个人而言,我认为这是一个更好的主意,因为您可以在此处封装逻辑并使其接口更高级。它也将使记录发生的事情变得更容易。

于 2012-08-22T01:52:04.647 回答