【发布时间】:2016-08-08 16:41:10
【问题描述】:
我有一个像这样构造的NSMutableArray(ArrayOne)..
({
"item_image_timeStamp" = "492364855.234597";
"item_image_url" = "sample url";
"item_image_vote" = 123;
}, {
"item_image_timeStamp" = "492364458.236597";
"item_image_url" = "sample url";
"item_image_vote" = 456;
}, {
"item_image_timeStamp" = "492364179.052397";
"item_image_url" = "sample url";
"item_image_vote" = 6184;
}, {
"item_image_timeStamp" = "492364789.004447";
"item_image_url" = "sample url";
"item_image_vote" = 64;
}, {
"item_image_timeStamp" = "492364356.002341";
"item_image_url" = "sample url";
"item_image_vote" = 3778;
})
ArrayOne 中最多可以包含 10 个对象。
然后,我有第二个 NSMutableArray(ArrayTwo) 结构就像 ArrayOne
({
"item_image_timeStamp" = "492364855.234597";
"item_image_url" = "sample url";
"item_image_vote" = 123;
}, {
"item_image_timeStamp" = "492364458.236597";
"item_image_url" = "sample url";
"item_image_vote" = 456;
})
..除了 ArrayTwo 中可以包含的最大对象数是 3。
现在,我想做的是..
- 将 ArrayTwo 的对象添加到 ArrayOne 中(注意 ArrayOne 最多只能容纳 10 个对象)
- 保留按“item_image_vote”键排序的前 5 个对象(不应替换前 5 个投票对象)
- 如果需要替换 ArrayOne 中的任何对象,则应首先替换键“item_image_timeStamp”中具有最低值的项目。(最旧的对象将首先替换..然后是第二旧的对象)。
我希望我没有让我的问题变得太混乱。提前谢谢你。
【问题讨论】:
-
你试过什么?此外,您的算法并不完全清楚 - 最终数组是否意味着包含 (a) First 中的原始前 5 个、(b) 所有 Second 和 (c) First 中最年轻的所有剩余项目?还是第二个中每个条目执行的算法,即从第二个添加第二个可能会从第二个中弹出刚刚添加的第一个?
-
是的..正是你所说的..最终的数组旨在包含 (a) First 的原始前 5 名,(b) 所有 Second 和 (c) 最年轻的任何遗体First 中适合的项目
标签: objective-c nsmutablearray