好吧,我假设您的 DiaryEntry 有一个 date 属性。这是一个快速而肮脏的版本,你可以让它变得更好。
NSMutableDictionary *map = [[[NSMutableDictionary alloc] init] autorelease];
NSMutableArray *array;
for (DiaryEntry *entry in myArray) {
array = [map objectForKey:entry.date];
if (!array) {
array = [[[NSMutableArray alloc] init] autorelease];
[map setObject:array forKey:entry.date];
}
[array addObject:entry];
}
我会仔细检查方法名称/编译的代码......我在这里有点犹豫,但它基本上是:
浏览列表。对于您找到的每个条目,查看是否有与该日期关联的数组。如果没有,请创建它。添加到该数组。
注意 您可能需要考虑将结构更改为数组...除非您居住在超过 7 天的土地上,否则您可以存储以特定顺序存储的数组。我尽量避免使用地图结构,除非我有大量对象并且想要快速查找。