【发布时间】:2012-11-29 22:19:10
【问题描述】:
我有一个 NSArray 的 NSStrings 并且想知道如何将数组中的每个项目与数组中的每个其他项目进行比较以查看 是否有任何与其他字符串不同的字符串。。 p>
我看过一个c++例子
for (int i = 0; i < list.size(); i++) {
for (int j = i+1; j < list.size(); j++) {
// compare list.get(i) and list.get(j)
}
}
但是如果在目标 C 中有更好更简单的方法,那是不是很伤人?我还需要做的另一件事是确保项目在循环时不会比较自身。
任何帮助或示例将不胜感激。
UPDATE ** BOLD 是问题的更新部分**
【问题讨论】:
-
识别成对的字符串是你想要的吗?
-
这似乎是对的。请注意,您需要
isEqualToString:来匹配i和j处的项目的内容;==是一个地址比较,只有当它们都是同一个对象时才保证匹配。 -
哦,废话,我刚刚编辑了我的问题。如果有任何配对,则不应该是这样,而是相反。如果一个字符串与所有其他字符串不同,那么我的意思是用它做点什么。这将是一个 uitableview 单元格的高度变化,就好像数组中的每个字符串都是相同的,那么我将在视图顶部显示一个值,否则如果一个值不同,我将在其各自的值中显示每个值tableviewcells.. 我希望这是有道理的。
-
最简单的方法是将它们全部插入一个 HashSet(呃,制作那个 NSMutableSet)。
-
@HurkNburkS 向你道歉;我想我的回答完全湿透了。
标签: objective-c ios nsarray