【发布时间】:2013-04-25 21:39:51
【问题描述】:
我有一个 NSDictionaries 的 NSArray,我想对其进行排序和删除重复项。我遇到的问题是 NSDictionary 包含两个元素 startYear 和 finishYear 所以我有一个字典值的 NSArray,我想使用 startYear and强>完成年。
NSDictionary 看起来像这样,它们都包含字符串值。
starYear
finishYear
两者中包含的值如下所示 -
(startYear / finishYear)
------------------------
(0 - 1999)
(1999 - 0)
(1999 - 2000)
(2001 - 2008)
(2000 - 2010)
(0 - 1999)
(0 - 2006)
应该是这样的 -
(startYear / finishYear)
------------------------
(0 - 1999)
(1999 - 0)
(1999 - 2000)
(0 - 2006)
(2000 - 2010)
(2001 - 2008)
如您所见,所有重复值均已删除。 如果 startYear 为 0,则该值按 finishYear 排序。 如果 startYear 和 finishYear 可用,则将其排序到它的 startYear 中,然后根据完成年份排序。
我什至不知道如何处理这个问题,我已经阅读了关于集合等的内容。但我只是不知道如何根据 NSDictionary 中的两个元素进行排序。
我希望这是足够的信息以获得一些帮助,建议代码示例任何让我解决这个问题的建议将不胜感激。
【问题讨论】:
-
您可以使用@Skotch 建议的技术轻松地先排序 startYear,然后是 finishYear 或反向排序,但您的似乎两者都不是。例如,您将如何处理 1996-2012 的范围?
-
1996 - 2012 将首先出现在这种情况下。如果它的 1996 - 0 将出现在您的示例之前.. 如果它的 0 - 2012 它将出现在数组的后面。
标签: objective-c nsarray nsdictionary