Ios 存储表视图元素的最佳方法?
我有一个这样的层次结构->天表->时间表->信息视图 最好将信息存储为NSDictionary,以天为键,以时间为每个键的NSArray,还是以天为NSArray,以另一个NSArray为时间 需要注意的关键事项: 我想按日期和时间分类。 如果我愿意,我可以删除NSArray中的一些时间数据。Ios 存储表视图元素的最佳方法?,ios,objective-c,iphone,tableview,store,Ios,Objective C,Iphone,Tableview,Store,我有一个这样的层次结构->天表->时间表->信息视图 最好将信息存储为NSDictionary,以天为键,以时间为每个键的NSArray,还是以天为NSArray,以另一个NSArray为时间 需要注意的关键事项: 我想按日期和时间分类。 如果我愿意,我可以删除NSArray中的一些时间数据。 如果要删除或替换数组中的元素,则必须使用可变版本NSMUTABLEARRY和NSMUTABLEDDIctionary。为此,我可能会使用一个数组。我会使用一个NSMutableDictionary of
如果要删除或替换数组中的元素,则必须使用可变版本NSMUTABLEARRY和NSMUTABLEDDIctionary。为此,我可能会使用一个数组。我会使用一个NSMutableDictionary of days和一个NSMutableArray of times for days。这样,您就避免了试图保持两个单独的数组同步,因为每个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
}
然后在didSelectRowatineXpath委托方法中,您知道他们根据所选内容的indexath.row和键数组的行选择了哪个键。是的,我应该说我使用的是NSMutableArray和NSMutableDictionary。