我有一个不同邮政编码的NSArray。我想获取当前用户位置的邮政编码,然后查看NSArray是否具有该邮政编码,并仅显示具有相同邮政编码的对象。
到目前为止,我可以通过获取用户的位置,将其放入字符串,然后添加for循环,并将匹配的对象添加到另一个数组来完成所有这些操作。
问题始于,如果NSArray没有用户位置的邮政编码,该怎么办?有没有办法检查最接近的结果?
答案 0 :(得分:0)
找到最接近数字的结果应该相当容易,我认为你应该看看NSPredicate和一个enumerateUsingBlock:type方法,应该比你在循环中提出的任何解析器更有效。你可以一次处理一个数字..
让我们说你的邮政编码有五个数字,你使用一个谓词来返回一个新的数组,只有那些具有相同第一个数字的代码,数万个。 然后你再说一遍,所以你有一个(明显更小的)数组,前两位数相同,数千... 等等。然后,如果你没有完全准确的代码,那么最后一个数组将至少具有数字相邻的数组。 但这当然只是按数字排序, 我在澳大利亚,我不知道你的地区,但在这里,他们总是排队如此完美,他们必须布置在一个有两个维度的网格地图上(所以要么他们奠定了在南北或东西方向,但无论哪种方式,邻近的邮政编码可能并不总是在数字上最接近)。祝你好运