gpt4 book ai didi

iphone - 删除 NSMutableDictionary 中索引 20 之后的所有对象?

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:14 24 4
gpt4 key购买 nike

我有一个 NSMutableDictionary,它可能包含超过 20 个对象。如果它包含超过 20 个对象,我应该如何删除最旧的条目直到只剩下 20 个?

例如,带有对象的 NSMutableDictionary:

a = "-1640531535";
b = 1013904226;
c = "-626627309";
d = 2027808452;
e = 387276917;
f = "-1253254618";
g = 1401181143;
h = "-239350392";
i = "-1879881927";

对象的最大数量:5,应该变成:

a = "-1640531535";
b = 1013904226;
c = "-626627309";
d = 2027808452;
e = 387276917;

谢谢。

最佳答案

如果您要查找的只是 20 个元素,我会尝试类似的方法:

NSMutableDictionary* newDict = [NSMutableDictionary new];
int count = 0;

for (id theKey in oldDict)
{
[newDict setObject:[oldDict getObjectForKey:theKey] forKey:theKey];

if (++count == 20)
break;
}

[oldDict release];
oldDict = newDict;

想法是将找到的前 20 个键的元素复制到新字典中,然后用新字典替换旧字典。如果你想通过其他方式迭代字典,你也可以这样做,但上面的代码不需要做太多改变。

关于iphone - 删除 NSMutableDictionary 中索引 20 之后的所有对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3946817/

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