我有一个像这样的层次结构 - >天(表) - >时间(表) - >信息(查看)。
将信息存储为NSDictionary会更好,将Days作为键,将Time作为每个键的NSArray,还是将Days作为NSArray,使用另一个NSArray for Time?
需要注意的关键事项:
答案 0 :(得分:0)
如果要删除或替换数组中的元素,则必须使用可变版本NSMutableArray
和NSMutableDictionary
。我可能会为此目的使用数组。
答案 1 :(得分:0)
我会使用NSMutableDictionary的天数,每天使用NSMutableArray。这样你就可以避免试图保持两个独立的数组同步,因为每个“day”键总是指向你的数组。
您可以按照自己想要的方式对数组进行排序,因为它是一个数组,您可以根据键选择如何在表格中显示您的日期。您可以使用[dictionary allKeys]
方法访问所有密钥的数组。
例如,在viewDidLoad
中,您可以使用[dictionary allKeys]
方法获取字典键的数组。您可以按照自己喜欢的方式对其进行排序,然后在cellForRowAtIndexPath
tableview数据源方法中遍历数组。
-(void)viewDidLoad {
/* keys = NSMutableArray instance variable
dictionary = the dictionary of days, with each days value being an array of times
*/
keys = [dictionary allKeys];
//sort however you want
}
然后在你的didSelectRowAtIndexPath
委托方法中,根据选择的indexPath.row和keys数组的行知道他们选择了哪个键。