iOS / Mac的地址字段验证

时间:2014-02-19 00:23:19

标签: ios iphone objective-c cocoa internationalization

我想创建一个“添加地址”视图,一个非常基本的“街道,城市,邮编,国家”类型的页面:表格视图中的多个文本字段。如果您只添加美国地址,这很简单,但我不知道如何以正确的方式执行此操作,同时处理所有国际用例。实质上: 1.您如何为每个国家/地区选择正确的字段标签?对于例如对于美国/澳大利亚的地址,该字段应称为“国家”;对于英国来说,它被称为“郡”,在某些地方它被称为“省”。你怎么知道标签应该说什么(缺少每个国家的硬编码逻辑)? 2.如何验证这些字段的值?英国邮政编码有一定的格式,而在美国,它是一个5位数的邮政编码。此外,在美国,存在用户可以选择的状态列表。你如何得到这份名单?

我查看过NSLocale,但找不到任何办法。当然必须有一个好的,简单的方法来做到这一点?

2 个答案:

答案 0 :(得分:6)

我挖到了最后,我找到的最好的东西是“良好的国际地址字段表”的指南,但它仍然很难验证它。我不认为这样做了。

http://www.uxmatters.com/mt/archives/2008/06/international-address-fields-in-web-forms.php

一种方法可能是通过mapkit反向查找地址。

答案 1 :(得分:1)

您可以尝试通过仅添加一个文本字段来简化UI,并要求用户以任意方式输入其地址,然后使用CLGeocoder类将字符串转换为CLPlacemark的实例,这是国家,邮政编码等信息的便利容器。