然后要获取第 5 行第 3 列中的值,我需要获取数组数组中的第 5 行,然后在结果数组中,我需要获取第 3 个对象。有一个更好的方法吗?
数组数组很适合实现,最近添加到 Objective-C 的集合下标使这更容易——你可以使用如下表达式
NSString *s = myData[m][n];
获取第 th 行n
第 th 列的字符串m
。
也就是说,为您的数据结构创建一个单独的类可能仍然是一个好主意,这样您的其余代码就不需要知道数据是如何存储的。这也将简化将实现从数组数组更改为 SQLite 表或其他东西的过程。
您的数据存储类不需要花哨或复杂。这是第一关:
@interface DataTable
- (id)objectAtRow:(NSInteger)row column:(NSInteger)column;
- (void)setObjectAtRow:(NSInteger)row column:(NSInteger)column;
@end
我相信您可以看到如何根据数组数组来实现这些。当调用者尝试设置当前范围之外的值时,您必须做一些工作来添加行和/或列。您可能还想添加对诸如快速枚举以及写入和读取属性列表之类的支持,但这可能会在以后出现。