gpt4 book ai didi

cocoa-touch - Cocoa 类通过单个键引用多个条目

转载 作者:行者123 更新时间:2023-12-03 16:17:19 26 4
gpt4 key购买 nike

我需要一个 Cocoa 数据结构来保存一些内容,例如田野中一组昆虫随时间的位置列表。显然,NSDictionary 必须具有唯一的键,因此我无法使用昆虫作为键并使用 MKUserlocation 作为对象。

除了 NSArray 之外,还有其他类不需要在每个索引处单步执行 if/else 吗?

似乎有像 NSList 这样的事情在不同的地方讨论过,但苹果文档中没有任何内容。

我还看到了与 NSArray 结合使用的 NSIndexSet 的引用,但再次阅读 Apple 文档表明它对我没有用。

最佳答案

由于 Cocoa 框架不提供多映射容器,因此您可以通过创建 NSMutableDictionary 并用 NSMutableArray 对象填充它来实现自己的多映射容器。

NSMutableDictionary locByInsect = [NSMutableDictionary dictionary];

// Adding a location for an insect:

MyInsect *insect = ... // Don't forget to provide hash code and equality checks
MyLocation *location = ...
NSMutableDictionary *insectLocations = locByInsect[insect];
if (insectLocations == nil) {
insectLocations = [NSMutableArray array];
locByInsect[insect] = insectLocations;
}
[insectLocations addObject:location];

// Retrieving all locations for an insect
for (MyLocation *loc in locByInsect[insect]) {
NSLog(@"Saw %@ at %@", insect, loc);
}

关于cocoa-touch - Cocoa 类通过单个键引用多个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com