我正在查看国家列表及其拨号代码,可能是plist文件或Objective-C字典.
我知道PHP中有一些列表如下:https: //gist.github.com/260468 如果涉及到它我将手动移植它,但这很容易出错.
Kev*_*vin 31
很简单.在vim中打开PHP版本,输入一个命令,然后清理标签和分隔符.
:%s/.*= \='\(.*\) (\(+\=.*\))';.*/@"\1" : @"\2",
Run Code Online (Sandbox Code Playgroud)
这就是为什么每个人都应该学习vim.
(新的对象文字语法 - 需要XCode 4.5/clang 4.1).
转换后的列表,以防止链接腐烂:
// Country code
NSDictionary *codes = @{
@"Canada" : @"+1",
@"China" : @"+86",
@"France" : @"+33",
@"Germany" : @"+49",
@"India" : @"+91",
@"Japan" : @"+81",
@"Pakistan" : @"+92",
@"United Kingdom" : @"+44",
@"United States" : @"+1",
@"Abkhazia" : @"+7 840",
@"Abkhazia" : @"+7 940",
@"Afghanistan" : @"+93",
@"Albania" : @"+355",
@"Algeria" : @"+213",
@"American Samoa" : @"+1 684",
@"Andorra" : @"+376",
@"Angola" : @"+244",
@"Anguilla" : @"+1 264",
@"Antigua and Barbuda" : @"+1 268",
@"Argentina" : @"+54",
@"Armenia" : @"+374",
@"Aruba" : @"+297",
@"Ascension" : @"+247",
@"Australia" : @"+61",
@"Australian External Territories" : @"+672",
@"Austria" : @"+43",
@"Azerbaijan" : @"+994",
@"Bahamas" : @"+1 242",
@"Bahrain" : @"+973",
@"Bangladesh" : @"+880",
@"Barbados" : @"+1 246",
@"Barbuda" : @"+1 268",
@"Belarus" : @"+375",
@"Belgium" : @"+32",
@"Belize" : @"+501",
@"Benin" : @"+229",
@"Bermuda" : @"+1 441",
@"Bhutan" : @"+975",
@"Bolivia" : @"+591",
@"Bosnia and Herzegovina" : @"+387",
@"Botswana" : @"+267",
@"Brazil" : @"+55",
@"British Indian Ocean Territory" : @"+246",
@"British Virgin Islands" : @"+1 284",
@"Brunei" : @"+673",
@"Bulgaria" : @"+359",
@"Burkina Faso" : @"+226",
@"Burundi" : @"+257",
@"Cambodia" : @"+855",
@"Cameroon" : @"+237",
@"Canada" : @"+1",
@"Cape Verde" : @"+238",
@"Cayman Islands" : @"+ 345",
@"Central African Republic" : @"+236",
@"Chad" : @"+235",
@"Chile" : @"+56",
@"China" : @"+86",
@"Christmas Island" : @"+61",
@"Cocos-Keeling Islands" : @"+61",
@"Colombia" : @"+57",
@"Comoros" : @"+269",
@"Congo" : @"+242",
@"Congo, Dem. Rep. of (Zaire)" : @"+243",
@"Cook Islands" : @"+682",
@"Costa Rica" : @"+506",
@"Ivory Coast" : @"+225",
@"Croatia" : @"+385",
@"Cuba" : @"+53",
@"Curacao" : @"+599",
@"Cyprus" : @"+537",
@"Czech Republic" : @"+420",
@"Denmark" : @"+45",
@"Diego Garcia" : @"+246",
@"Djibouti" : @"+253",
@"Dominica" : @"+1 767",
@"Dominican Republic" : @"+1 809",
@"Dominican Republic" : @"+1 829",
@"Dominican Republic" : @"+1 849",
@"East Timor" : @"+670",
@"Easter Island" : @"+56",
@"Ecuador" : @"+593",
@"Egypt" : @"+20",
@"El Salvador" : @"+503",
@"Equatorial Guinea" : @"+240",
@"Eritrea" : @"+291",
@"Estonia" : @"+372",
@"Ethiopia" : @"+251",
@"Falkland Islands" : @"+500",
@"Faroe Islands" : @"+298",
@"Fiji" : @"+679",
@"Finland" : @"+358",
@"France" : @"+33",
@"French Antilles" : @"+596",
@"French Guiana" : @"+594",
@"French Polynesia" : @"+689",
@"Gabon" : @"+241",
@"Gambia" : @"+220",
@"Georgia" : @"+995",
@"Germany" : @"+49",
@"Ghana" : @"+233",
@"Gibraltar" : @"+350",
@"Greece" : @"+30",
@"Greenland" : @"+299",
@"Grenada" : @"+1 473",
@"Guadeloupe" : @"+590",
@"Guam" : @"+1 671",
@"Guatemala" : @"+502",
@"Guinea" : @"+224",
@"Guinea-Bissau" : @"+245",
@"Guyana" : @"+595",
@"Haiti" : @"+509",
@"Honduras" : @"+504",
@"Hong Kong SAR China" : @"+852",
@"Hungary" : @"+36",
@"Iceland" : @"+354",
@"India" : @"+91",
@"Indonesia" : @"+62",
@"Iran" : @"+98",
@"Iraq" : @"+964",
@"Ireland" : @"+353",
@"Israel" : @"+972",
@"Italy" : @"+39",
@"Jamaica" : @"+1 876",
@"Japan" : @"+81",
@"Jordan" : @"+962",
@"Kazakhstan" : @"+7 7",
@"Kenya" : @"+254",
@"Kiribati" : @"+686",
@"North Korea" : @"+850",
@"South Korea" : @"+82",
@"Kuwait" : @"+965",
@"Kyrgyzstan" : @"+996",
@"Laos" : @"+856",
@"Latvia" : @"+371",
@"Lebanon" : @"+961",
@"Lesotho" : @"+266",
@"Liberia" : @"+231",
@"Libya" : @"+218",
@"Liechtenstein" : @"+423",
@"Lithuania" : @"+370",
@"Luxembourg" : @"+352",
@"Macau SAR China" : @"+853",
@"Macedonia" : @"+389",
@"Madagascar" : @"+261",
@"Malawi" : @"+265",
@"Malaysia" : @"+60",
@"Maldives" : @"+960",
@"Mali" : @"+223",
@"Malta" : @"+356",
@"Marshall Islands" : @"+692",
@"Martinique" : @"+596",
@"Mauritania" : @"+222",
@"Mauritius" : @"+230",
@"Mayotte" : @"+262",
@"Mexico" : @"+52",
@"Micronesia" : @"+691",
@"Midway Island" : @"+1 808",
@"Micronesia" : @"+691",
@"Moldova" : @"+373",
@"Monaco" : @"+377",
@"Mongolia" : @"+976",
@"Montenegro" : @"+382",
@"Montserrat" : @"+1664",
@"Morocco" : @"+212",
@"Myanmar" : @"+95",
@"Namibia" : @"+264",
@"Nauru" : @"+674",
@"Nepal" : @"+977",
@"Netherlands" : @"+31",
@"Netherlands Antilles" : @"+599",
@"Nevis" : @"+1 869",
@"New Caledonia" : @"+687",
@"New Zealand" : @"+64",
@"Nicaragua" : @"+505",
@"Niger" : @"+227",
@"Nigeria" : @"+234",
@"Niue" : @"+683",
@"Norfolk Island" : @"+672",
@"Northern Mariana Islands" : @"+1 670",
@"Norway" : @"+47",
@"Oman" : @"+968",
@"Pakistan" : @"+92",
@"Palau" : @"+680",
@"Palestinian Territory" : @"+970",
@"Panama" : @"+507",
@"Papua New Guinea" : @"+675",
@"Paraguay" : @"+595",
@"Peru" : @"+51",
@"Philippines" : @"+63",
@"Poland" : @"+48",
@"Portugal" : @"+351",
@"Puerto Rico" : @"+1 787",
@"Puerto Rico" : @"+1 939",
@"Qatar" : @"+974",
@"Reunion" : @"+262",
@"Romania" : @"+40",
@"Russia" : @"+7",
@"Rwanda" : @"+250",
@"Samoa" : @"+685",
@"San Marino" : @"+378",
@"Saudi Arabia" : @"+966",
@"Senegal" : @"+221",
@"Serbia" : @"+381",
@"Seychelles" : @"+248",
@"Sierra Leone" : @"+232",
@"Singapore" : @"+65",
@"Slovakia" : @"+421",
@"Slovenia" : @"+386",
@"Solomon Islands" : @"+677",
@"South Africa" : @"+27",
@"South Georgia and the South Sandwich Islands" : @"+500",
@"Spain" : @"+34",
@"Sri Lanka" : @"+94",
@"Sudan" : @"+249",
@"Suriname" : @"+597",
@"Swaziland" : @"+268",
@"Sweden" : @"+46",
@"Switzerland" : @"+41",
@"Syria" : @"+963",
@"Taiwan" : @"+886",
@"Tajikistan" : @"+992",
@"Tanzania" : @"+255",
@"Thailand" : @"+66",
@"Timor Leste" : @"+670",
@"Togo" : @"+228",
@"Tokelau" : @"+690",
@"Tonga" : @"+676",
@"Trinidad and Tobago" : @"+1 868",
@"Tunisia" : @"+216",
@"Turkey" : @"+90",
@"Turkmenistan" : @"+993",
@"Turks and Caicos Islands" : @"+1 649",
@"Tuvalu" : @"+688",
@"Uganda" : @"+256",
@"Ukraine" : @"+380",
@"United Arab Emirates" : @"+971",
@"United Kingdom" : @"+44",
@"United States" : @"+1",
@"Uruguay" : @"+598",
@"U.S. Virgin Islands" : @"+1 340",
@"Uzbekistan" : @"+998",
@"Vanuatu" : @"+678",
@"Venezuela" : @"+58",
@"Vietnam" : @"+84",
@"Wake Island" : @"+1 808",
@"Wallis and Futuna" : @"+681",
@"Yemen" : @"+967",
@"Zambia" : @"+260",
@"Zanzibar" : @"+255",
@"Zimbabwe" : @"+263"
};
Run Code Online (Sandbox Code Playgroud)
AlB*_*ebe 23
NSDictionary *dictCodes = [NSDictionary dictionaryWithObjectsAndKeys:
@"93",@"AF",@"355",@"AL",@"213",@"DZ",@"1",@"AS",
@"376",@"AD",@"244",@"AO",@"1",@"AI",@"1",@"AG",
@"54",@"AR",@"374",@"AM",@"297",@"AW",@"61",@"AU",
@"43",@"AT",@"994",@"AZ",@"1",@"BS",@"973",@"BH",
@"880",@"BD",@"1",@"BB",@"375",@"BY",@"32",@"BE",
@"501",@"BZ",@"229",@"BJ",@"1",@"BM",@"975",@"BT",
@"387",@"BA",@"267",@"BW",@"55",@"BR",@"246",@"IO",
@"359",@"BG",@"226",@"BF",@"257",@"BI",@"855",@"KH",
@"237",@"CM",@"1",@"CA",@"238",@"CV",@"345",@"KY",
@"236",@"CF",@"235",@"TD",@"56",@"CL",@"86",@"CN",
@"61",@"CX",@"57",@"CO",@"269",@"KM",@"242",@"CG",
@"682",@"CK",@"506",@"CR",@"385",@"HR",@"53",@"CU",
@"537",@"CY",@"420",@"CZ",@"45",@"DK",@"253",@"DJ",
@"1",@"DM",@"1",@"DO",@"593",@"EC",@"20",@"EG",
@"503",@"SV",@"240",@"GQ",@"291",@"ER",@"372",@"EE",
@"251",@"ET",@"298",@"FO",@"679",@"FJ",@"358",@"FI",
@"33",@"FR",@"594",@"GF",@"689",@"PF",@"241",@"GA",
@"220",@"GM",@"995",@"GE",@"49",@"DE",@"233",@"GH",
@"350",@"GI",@"30",@"GR",@"299",@"GL",@"1",@"GD",
@"590",@"GP",@"1",@"GU",@"502",@"GT",@"224",@"GN",
@"245",@"GW",@"595",@"GY",@"509",@"HT",@"504",@"HN",
@"36",@"HU",@"354",@"IS",@"91",@"IN",@"62",@"ID",
@"964",@"IQ",@"353",@"IE",@"972",@"IL",@"39",@"IT",
@"1",@"JM",@"81",@"JP",@"962",@"JO",@"77",@"KZ",
@"254",@"KE",@"686",@"KI",@"965",@"KW",@"996",@"KG",
@"371",@"LV",@"961",@"LB",@"266",@"LS",@"231",@"LR",
@"423",@"LI",@"370",@"LT",@"352",@"LU",@"261",@"MG",
@"265",@"MW",@"60",@"MY",@"960",@"MV",@"223",@"ML",
@"356",@"MT",@"692",@"MH",@"596",@"MQ",@"222",@"MR",
@"230",@"MU",@"262",@"YT",@"52",@"MX",@"377",@"MC",
@"976",@"MN",@"382",@"ME",@"1",@"MS",@"212",@"MA",
@"95",@"MM",@"264",@"NA",@"674",@"NR",@"977",@"NP",
@"31",@"NL",@"599",@"AN",@"687",@"NC",@"64",@"NZ",
@"505",@"NI",@"227",@"NE",@"234",@"NG",@"683",@"NU",
@"672",@"NF",@"1",@"MP",@"47",@"NO",@"968",@"OM",
@"92",@"PK",@"680",@"PW",@"507",@"PA",@"675",@"PG",
@"595",@"PY",@"51",@"PE",@"63",@"PH",@"48",@"PL",
@"351",@"PT",@"1",@"PR",@"974",@"QA",@"40",@"RO",
@"250",@"RW",@"685",@"WS",@"378",@"SM",@"966",@"SA",
@"221",@"SN",@"381",@"RS",@"248",@"SC",@"232",@"SL",
@"65",@"SG",@"421",@"SK",@"386",@"SI",@"677",@"SB",
@"27",@"ZA",@"500",@"GS",@"34",@"ES",@"94",@"LK",
@"249",@"SD",@"597",@"SR",@"268",@"SZ",@"46",@"SE",
@"41",@"CH",@"992",@"TJ",@"66",@"TH",@"228",@"TG",
@"690",@"TK",@"676",@"TO",@"1",@"TT",@"216",@"TN",
@"90",@"TR",@"993",@"TM",@"1",@"TC",@"688",@"TV",
@"256",@"UG",@"380",@"UA",@"971",@"AE",@"44",@"GB",
@"1",@"US",@"598",@"UY",@"998",@"UZ",@"678",@"VU",
@"681",@"WF",@"967",@"YE",@"260",@"ZM",@"263",@"ZW",
@"591",@"BO",@"673",@"BN",@"61",@"CC",@"243",@"CD",
@"225",@"CI",@"500",@"FK",@"44",@"GG",@"379",@"VA",
@"852",@"HK",@"98",@"IR",@"44",@"IM",@"44",@"JE",
@"850",@"KP",@"82",@"KR",@"856",@"LA",@"218",@"LY",
@"853",@"MO",@"389",@"MK",@"691",@"FM",@"373",@"MD",
@"258",@"MZ",@"970",@"PS",@"872",@"PN",@"262",@"RE",
@"7",@"RU",@"590",@"BL",@"290",@"SH",@"1",@"KN",
@"1",@"LC",@"590",@"MF",@"508",@"PM",@"1",@"VC",
@"239",@"ST",@"252",@"SO",@"47",@"SJ",@"963",@"SY",
@"886",@"TW",@"255",@"TZ",@"670",@"TL",@"58",@"VE",
@"84",@"VN",@"1",@"VG",@"1",@"VI",@"672",@"AQ",
@"358",@"AX",@"47",@"BV",@"599",@"BQ",@"599",@"CW",
@"689",@"TF",@"1",@"SX",@"211",@"SS"?,@"212",@"EH",
@"972",@"IL", nil];
Run Code Online (Sandbox Code Playgroud)
感谢AlBeebe,我用它来交换它以将国家代码转换为Swift Dictionary声明中的拨号前缀.
let prefixCodes = ["AF": "93", "AE": "971", "AL": "355", "AN": "599", "AS":"1", "AD": "376", "AO": "244", "AI": "1", "AG":"1", "AR": "54","AM": "374", "AW": "297", "AU":"61", "AT": "43","AZ": "994", "BS": "1", "BH":"973", "BF": "226","BI": "257", "BD": "880", "BB": "1", "BY": "375", "BE":"32","BZ": "501", "BJ": "229", "BM": "1", "BT":"975", "BA": "387", "BW": "267", "BR": "55", "BG": "359", "BO": "591", "BL": "590", "BN": "673", "CC": "61", "CD":"243","CI": "225", "KH":"855", "CM": "237", "CA": "1", "CV": "238", "KY":"345", "CF":"236", "CH": "41", "CL": "56", "CN":"86","CX": "61", "CO": "57", "KM": "269", "CG":"242", "CK": "682", "CR": "506", "CU":"53", "CY":"537","CZ": "420", "DE": "49", "DK": "45", "DJ":"253", "DM": "1", "DO": "1", "DZ": "213", "EC": "593", "EG":"20", "ER": "291", "EE":"372","ES": "34", "ET": "251", "FM": "691", "FK": "500", "FO": "298", "FJ": "679", "FI":"358", "FR": "33", "GB":"44", "GF": "594", "GA":"241", "GS": "500", "GM":"220", "GE":"995","GH":"233", "GI": "350", "GQ": "240", "GR": "30", "GG": "44", "GL": "299", "GD":"1", "GP": "590", "GU": "1", "GT": "502", "GN":"224","GW": "245", "GY": "595", "HT": "509", "HR": "385", "HN":"504", "HU": "36", "HK": "852", "IR": "98", "IM": "44", "IL": "972", "IO":"246", "IS": "354", "IN": "91", "ID":"62", "IQ":"964", "IE": "353","IT":"39", "JM":"1", "JP": "81", "JO": "962", "JE":"44", "KP": "850", "KR": "82","KZ":"77", "KE": "254", "KI": "686", "KW": "965", "KG":"996","KN":"1", "LC": "1", "LV": "371", "LB": "961", "LK":"94", "LS": "266", "LR":"231", "LI": "423", "LT": "370", "LU": "352", "LA": "856", "LY":"218", "MO": "853", "MK": "389", "MG":"261", "MW": "265", "MY": "60","MV": "960", "ML":"223", "MT": "356", "MH": "692", "MQ": "596", "MR":"222", "MU": "230", "MX": "52","MC": "377", "MN": "976", "ME": "382", "MP": "1", "MS": "1", "MA":"212", "MM": "95", "MF": "590", "MD":"373", "MZ": "258", "NA":"264", "NR":"674", "NP":"977", "NL": "31","NC": "687", "NZ":"64", "NI": "505", "NE": "227", "NG": "234", "NU":"683", "NF": "672", "NO": "47","OM": "968", "PK": "92", "PM": "508", "PW": "680", "PF": "689", "PA": "507", "PG":"675", "PY": "595", "PE": "51", "PH": "63", "PL":"48", "PN": "872","PT": "351", "PR": "1","PS": "970", "QA": "974", "RO":"40", "RE":"262", "RS": "381", "RU": "7", "RW": "250", "SM": "378", "SA":"966", "SN": "221", "SC": "248", "SL":"232","SG": "65", "SK": "421", "SI": "386", "SB":"677", "SH": "290", "SD": "249", "SR": "597","SZ": "268", "SE":"46", "SV": "503", "ST": "239","SO": "252", "SJ": "47", "SY":"963", "TW": "886", "TZ": "255", "TL": "670", "TD": "235", "TJ": "992", "TH": "66", "TG":"228", "TK": "690", "TO": "676", "TT": "1", "TN":"216","TR": "90", "TM": "993", "TC": "1", "TV":"688", "UG": "256", "UA": "380", "US": "1", "UY": "598","UZ": "998", "VA":"379", "VE":"58", "VN": "84", "VG": "1", "VI": "1","VC":"1", "VU":"678", "WS": "685", "WF": "681", "YE": "967", "YT": "262","ZA": "27" , "ZM": "260", "ZW":"263"]
Run Code Online (Sandbox Code Playgroud)
我为此列表生成了json文件:
{
"countries": [
{
"code": "+7 840",
"name": "Abkhazia"
},
{
"code": "+93",
"name": "Afghanistan"
},
{
"code": "+355",
"name": "Albania"
},
{
"code": "+213",
"name": "Algeria"
},
{
"code": "+1 684",
"name": "American Samoa"
},
{
"code": "+376",
"name": "Andorra"
},
{
"code": "+244",
"name": "Angola"
},
{
"code": "+1 264",
"name": "Anguilla"
},
{
"code": "+1 268",
"name": "Antigua and Barbuda"
},
{
"code": "+54",
"name": "Argentina"
},
{
"code": "+374",
"name": "Armenia"
},
{
"code": "+297",
"name": "Aruba"
},
{
"code": "+247",
"name": "Ascension"
},
{
"code": "+61",
"name": "Australia"
},
{
"code": "+672",
"name": "Australian External Territories"
},
{
"code": "+43",
"name": "Austria"
},
{
"code": "+994",
"name": "Azerbaijan"
},
{
"code": "+1 242",
"name": "Bahamas"
},
{
"code": "+973",
"name": "Bahrain"
},
{
"code": "+880",
"name": "Bangladesh"
},
{
"code": "+1 246",
"name": "Barbados"
},
{
"code": "+1 268",
"name": "Barbuda"
},
{
"code": "+375",
"name": "Belarus"
},
{
"code": "+32",
"name": "Belgium"
},
{
"code": "+501",
"name": "Belize"
},
{
"code": "+229",
"name": "Benin"
},
{
"code": "+1 441",
"name": "Bermuda"
},
{
"code": "+975",
"name": "Bhutan"
},
{
"code": "+591",
"name": "Bolivia"
},
{
"code": "+387",
"name": "Bosnia and Herzegovina"
},
{
"code": "+267",
"name": "Botswana"
},
{
"code": "+55",
"name": "Brazil"
},
{
"code": "+246",
"name": "British Indian Ocean Territory"
},
{
"code": "+1 284",
"name": "British Virgin Islands"
},
{
"code": "+673",
"name": "Brunei"
},
{
"code": "+359",
"name": "Bulgaria"
},
{
"code": "+226",
"name": "Burkina Faso"
},
{
"code": "+257",
"name": "Burundi"
},
{
"code": "+855",
"name": "Cambodia"
},
{
"code": "+237",
"name": "Cameroon"
},
{
"code": "+1",
"name": "Canada"
},
{
"code": "+238",
"name": "Cape Verde"
},
{
"code": "+ 345",
"name": "Cayman Islands"
},
{
"code": "+236",
"name": "Central African Republic"
},
{
"code": "+235",
"name": "Chad"
},
{
"code": "+56",
"name": "Chile"
},
{
"code": "+86",
"name": "China"
},
{
"code": "+61",
"name": "Christmas Island"
},
{
"code": "+61",
"name": "Cocos-Keeling Islands"
},
{
"code": "+57",
"name": "Colombia"
},
{
"code": "+269",
"name": "Comoros"
},
{
"code": "+242",
"name": "Congo"
},
{
"code": "+243",
"name": "Congo, Dem. Rep. of (Zaire)"
},
{
"code": "+682",
"name": "Cook Islands"
},
{
"code": "+506",
"name": "Costa Rica"
},
{
"code": "+385",
"name": "Croatia"
},
{
"code": "+53",
"name": "Cuba"
},
{
"code": "+599",
"name": "Curacao"
},
{
"code": "+537",
"name": "Cyprus"
},
{
"code": "+420",
"name": "Czech Republic"
},
{
"code": "+45",
"name": "Denmark"
},
{
"code": "+246",
"name": "Diego Garcia"
},
{
"code": "+253",
"name": "Djibouti"
},
{
"code": "+1 767",
"name": "Dominica"
},
{
"code": "+1 809",
"name": "Dominican Republic"
},
{
"code": "+670",
"name": "East Timor"
},
{
"code": "+56",
"name": "Easter Island"
},
{
"code": "+593",
"name": "Ecuador"
},
{
"code": "+20",
"name": "Egypt"
},
{
"code": "+503",
"name": "El Salvador"
},
{
"code": "+240",
"name": "Equatorial Guinea"
},
{
"code": "+291",
"name": "Eritrea"
},
{
"code": "+372",
"name": "Estonia"
},
{
"code": "+251",
"name": "Ethiopia"
},
{
"code": "+500",
"name": "Falkland Islands"
},
{
"code": "+298",
"name": "Faroe Islands"
},
{
"code": "+679",
"name": "Fiji"
},
{
"code": "+358",
"name": "Finland"
},
{
"code": "+33",
"name": "France"
},
{
"code": "+596",
"name": "French Antilles"
},
{
"code": "+594",
"name": "French Guiana"
},
{
"code": "+689",
"name": "French Polynesia"
},
{
"code": "+241",
"name": "Gabon"
},
{
"code": "+220",
"name": "Gambia"
},
{
"code": "+995",
"name": "Georgia"
},
{
"code": "+49",
"name": "Germany"
},
{
"code": "+233",
"name": "Ghana"
},
{
"code": "+350",
"name": "Gibraltar"
},
{
"code": "+30",
"name": "Greece"
},
{
"code": "+299",
"name": "Greenland"
},
{
"code": "+1 473",
"name": "Grenada"
},
{
"code": "+590",
"name": "Guadeloupe"
},
{
"code": "+1 671",
"name": "Guam"
},
{
"code": "+502",
"name": "Guatemala"
},
{
"code": "+224",
"name": "Guinea"
},
{
"code": "+245",
"name": "Guinea-Bissau"
},
{
"code": "+595",
"name": "Guyana"
},
{
"code": "+509",
"name": "Haiti"
},
{
"code": "+504",
"name": "Honduras"
},
{
"code": "+852",
"name": "Hong Kong SAR China"
},
{
"code": "+36",
"name": "Hungary"
},
{
"code": "+354",
"name": "Iceland"
},
{
"code": "+91",
"name": "India"
},
{
"code": "+62",
"name": "Indonesia"
},
{
"code": "+98",
"name": "Iran"
},
{
"code": "+964",
"name": "Iraq"
},
{
"code": "+353",
"name": "Ireland"
},
{
"code": "+972",
"name": "Israel"
},
{
"code": "+39",
"name": "Italy"
},
{
"code": "+225",
"name": "Ivory Coast"
},
{
"code": "+1 876",
"name": "Jamaica"
},
{
"code": "+81",
"name": "Japan"
},
{
"code": "+962",
"name": "Jordan"
},
{
"code": "+7 7",
"name": "Kazakhstan"
},
{
"code": "+254",
"name": "Kenya"
},
{
"code": "+686",
"name": "Kiribati"
},
{
"code": "+965",
"name": "Kuwait"
},
{
"code": "+996",
"name": "Kyrgyzstan"
},
{
"code": "+856",
"name": "Laos"
},
{
"code": "+371",
"name": "Latvia"
},
{
"code": "+961",
"name": "Lebanon"
},
{
"code": "+266",
"name": "Lesotho"
},
{
"code": "+231",
"name": "Liberia"
},
{
"code": "+218",
"name": "Libya"
},
{
"code": "+423",
"name": "Liechtenstein"
},
{
"code": "+370",
"name": "Lithuania"
},
{
"code": "+352",
"name": "Luxembourg"
},
{
"code": "+853",
"name": "Macau SAR China"
},
{
"code": "+389",
"name": "Macedonia"
},
{
"code": "+261",
"name": "Madagascar"
},
{
"code": "+265",
"name": "Malawi"
},
{
"code": "+60",
"name": "Malaysia"
},
{
"code": "+960",
"name": "Maldives"
},
{
"code": "+223",
"name": "Mali"
},
{
"code": "+356",
"name": "Malta"
},
{
"code": "+692",
"name": "Marshall Islands"
},
{
"code": "+596",
"name": "Martinique"
},
{
"code": "+222",
"name": "Mauritania"
},
{
"code": "+230",
"name": "Mauritius"
},
{
"code": "+262",
"name": "Mayotte"
},
{
"code": "+52",
"name": "Mexico"
},
{
"code": "+691",
"name": "Micronesia"
},
{
"code": "+1 808",
"name": "Midway Island"
},
{
"code": "+373",
"name": "Moldova"
},
{
"code": "+377",
"name": "Monaco"
},
{
"code": "+976",
"name": "Mongolia"
},
{
"code": "+382",
"name": "Montenegro"
},
{
"code": "+1664",
"name": "Montserrat"
},
{
"code": "+212",
"name": "Morocco"
},
{
"code": "+95",
"name": "Myanmar"
},
{
"code": "+264",
"name": "Namibia"
},
{
"code": "+674",
"name": "Nauru"
},
{
"code": "+977",
"name": "Nepal"
},
{
"code": "+31",
"name": "Netherlands"
},
{
"code": "+599",
"name": "Netherlands Antilles"
},
{
"code": "+1 869",
"name": "Nevis"
},
{
"code": "+687",
"name": "New Caledonia"
},
{
"code": "+64",
"name": "New Zealand"
},
{
"code": "+505",
"name": "Nicaragua"
},
{
"code": "+227",
"name": "Niger"
},
{
"code": "+234",
"name": "Nigeria"
},
{
"code": "+683",
"name": "Niue"
},
{
"code": "+672",
"name": "Norfolk Island"
},
{
"code": "+850",
"name": "North Korea"
},
{
"code": "+1 670",
"name": "Northern Mariana Islands"
},
{
"code": "+47",
"name": "Norway"
},
{
"code": "+968",
"name": "Oman"
},
{
"code": "+92",
"name": "Pakistan"
},
{
"code": "+680",
"name": "Palau"
},
{
"code": "+970",
"name": "Palestinian Territory"
},
{
"code": "+507",
"name": "Panama"
},
{
"code": "+675",
"name": "Papua New Guinea"
},
{
"code": "+595",
"name": "Paraguay"
},
{
"code": "+51",
"name": "Peru"
},
{
"code": "+63",
"name": "Philippines"
},
{
"code": "+48",
"name": "Poland"
},
{
"code": "+351",
"name": "Portugal"
},
{
"code": "+1 787",
"name": "Puerto Rico"
},
{
"code": "+974",
"name": "Qatar"
},
{
"code": "+262",
"name": "Reunion"
},
{
"code": "+40",
"name": "Romania"
},
{
"code": "+7",
"name": "Russia"
},
{
"code": "+250",
"name": "Rwanda"
},
{
"code": "+685",
"name": "Samoa"
},
{
"code": "+378",
"name": "San Marino"
},
{
"code": "+966",
"name": "Saudi Arabia"
},
{
"code": "+221",
"name": "Senegal"
},
{
"code": "+381",
"name": "Serbia"
},
{
"code": "+248",
"name": "Seychelles"
},
{
"code": "+232",
"name": "Sierra Leone"
},
{
"code": "+65",
"name": "Singapore"
},
{
"code": "+421",
"name": "Slovakia"
},
{
"code": "+386",
"name": "Slovenia"
},
{
"code": "+677",
"name": "Solomon Islands"
},
{
"code": "+27",
"name": "South Africa"
},
{
"code": "+500",
"name": "South Georgia and the South Sandwich Islands"
},
{
"code": "+82",
"name": "South Korea"
},
{
"code": "+34",
"name": "Spain"
},
{
"code": "+94",
"name": "Sri Lanka"
},
{
"code": "+249",
"name": "Sudan"
},
{
"code": "+597",
"name": "Suriname"
},
{
"code": "+268",
"name": "Swaziland"
},
{
"code": "+46",
"name": "Sweden"
},
{
"code": "+41",
"name": "Switzerland"
},
{
"code": "+963",
"name": "Syria"
},
{
"code": "+886",
"name": "Taiwan"
},
{
"code": "+992",
"name": "Tajikistan"
},
{
"code": "+255",
"name": "Tanzania"
},
{
"code": "+66",
"name": "Thailand"
},
{
"code": "+670",
"name": "Timor Leste"
},
{
"code": "+228",
"name": "Togo"
},
{
"code": "+690",
"name": "Tokelau"
},
{
"code": "+676",
"name": "Tonga"
},
{
"code": "+1 868",
"name": "Trinidad and Tobago"
},
{
"code": "+216",
"name": "Tunisia"
},
{
"code": "+90",
"name": "Turkey"
},
{
"code": "+993",
"name": "Turkmenistan"
},
{
"code": "+1 649",
"name": "Turks and Caicos Islands"
},
{
"code": "+688",
"name": "Tuvalu"
},
{
"code": "+1 340",
"name": "U.S. Virgin Islands"
},
{
"code": "+256",
"name": "Uganda"
},
{
"code": "+380",
"name": "Ukraine"
},
{
"code": "+971",
"name": "United Arab Emirates"
},
{
"code": "+44",
"name": "United Kingdom"
},
{
"code": "+1",
"name": "United States"
},
{
"code": "+598",
"name": "Uruguay"
},
{
"code": "+998",
"name": "Uzbekistan"
},
{
"code": "+678",
"name": "Vanuatu"
},
{
"code": "+58",
"name": "Venezuela"
},
{
"code": "+84",
"name": "Vietnam"
},
{
"code": "+1 808",
"name": "Wake Island"
},
{
"code": "+681",
"name": "Wallis and Futuna"
},
{
"code": "+967",
"name": "Yemen"
},
{
"code": "+260",
"name": "Zambia"
},
{
"code": "+255",
"name": "Zanzibar"
},
{
"code": "+263",
"name": "Zimbabwe"
}
]
}
Run Code Online (Sandbox Code Playgroud)
以下是国家拨号代码的快速版本以及国家/地区名称:
func getCountryCallingCode(countryRegionCode:String) -> [String] {
let prefix = ["AF": ["Afghanistan","93"],
"AX": ["Aland Islands","358"],
"AL": ["Albania","355"],
"DZ": ["Algeria","213"],
"AS": ["American Samoa","1"],
"AD": ["Andorra","376"],
"AO": ["Angola","244"],
"AI": ["Anguilla","1"],
"AQ": ["Antarctica","672"],
"AG": ["Antigua and Barbuda","1"],
"AR": ["Argentina","54"],
"AM": ["Armenia","374"],
"AW": ["Aruba","297"],
"AU": ["Australia","61"],
"AT": ["Austria","43"],
"AZ": ["Azerbaijan","994"],
"BS": ["Bahamas","1"],
"BH": ["Bahrain","973"],
"BD": ["Bangladesh","880"],
"BB": ["Barbados","1"],
"BY": ["Belarus","375"],
"BE": ["Belgium","32"],
"BZ": ["Belize","501"],
"BJ": ["Benin","229"],
"BM": ["Bermuda","1"],
"BT": ["Bhutan","975"],
"BO": ["Bolivia","591"],
"BA": ["Bosnia and Herzegovina","387"],
"BW": ["Botswana","267"],
"BV": ["Bouvet Island","47"],
"BQ": ["BQ","599"],
"BR": ["Brazil","55"],
"IO": ["British Indian Ocean Territory","246"],
"VG": ["British Virgin Islands","1"],
"BN": ["Brunei Darussalam","673"],
"BG": ["Bulgaria","359"],
"BF": ["Burkina Faso","226"],
"BI": ["Burundi","257"],
"KH": ["Cambodia","855"],
"CM": ["Cameroon","237"],
"CA": ["Canada","1"],
"CV": ["Cape Verde","238"],
"KY": ["Cayman Islands","345"],
"CF": ["Central African Republic","236"],
"TD": ["Chad","235"],
"CL": ["Chile","56"],
"CN": ["China","86"],
"CX": ["Christmas Island","61"],
"CC": ["Cocos (Keeling) Islands","61"],
"CO": ["Colombia","57"],
"KM": ["Comoros","269"],
"CG": ["Congo (Brazzaville)","242"],
"CD": ["Congo, Democratic Republic of the","243"],
"CK": ["Cook Islands","682"],
"CR": ["Costa Rica","506"],
"CI": ["Côte d'Ivoire","225"],
"HR": ["Croatia","385"],
"CU": ["Cuba","53"],
"CW": ["Curacao","599"],
"CY": ["Cyprus","537"],
"CZ": ["Czech Republic","420"],
"DK": ["Denmark","45"],
"DJ": ["Djibouti","253"],
"DM": ["Dominica","1"],
"DO": ["Dominican Republic","1"],
"EC": ["Ecuador","593"],
"EG": ["Egypt","20"],
"SV": ["El Salvador","503"],
"GQ": ["Equatorial Guinea","240"],
"ER": ["Eritrea","291"],
"EE": ["Estonia","372"],
"ET": ["Ethiopia","251"],
"FK": ["Falkland Islands (Malvinas)","500"],
"FO": ["Faroe Islands","298"],
"FJ": ["Fiji","679"],
"FI": ["Finland","358"],
"FR": ["France","33"],
"GF": ["French Guiana","594"],
"PF": ["French Polynesia","689"],
"TF": ["French Southern Territories","689"],
"GA": ["Gabon","241"],
"GM": ["Gambia","220"],
"GE": ["Georgia","995"],
"DE": ["Germany","49"],
"GH": ["Ghana","233"],
"GI": ["Gibraltar","350"],
"GR": ["Greece","30"],
"GL": ["Greenland","299"],
"GD": ["Grenada","1"],
"GP": ["Guadeloupe","590"],
"GU": ["Guam","1"],
"GT": ["Guatemala","502"],
"GG": ["Guernsey","44"],
"GN": ["Guinea","224"],
"GW": ["Guinea-Bissau","245"],
"GY": ["Guyana","595"],
"HT": ["Haiti","509"],
"VA": ["Holy See (Vatican City State)","379"],
"HN": ["Honduras","504"],
"HK": ["Hong Kong, Special Administrative Region of China","852"],
"HU": ["Hungary","36"],
"IS": ["Iceland","354"],
"IN": ["India","91"],
"ID": ["Indonesia","62"],
"IR": ["Iran, Islamic Republic of","98"],
"IQ": ["Iraq","964"],
"IE": ["Ireland","353"],
"IM": ["Isle of Man","44"],
"IL": ["Israel","972"],
"IT": ["Italy","39"],
"JM": ["Jamaica","1"],
"JP": ["Japan","81"],
"JE": ["Jersey","44"],
"JO": ["Jordan","962"],
"KZ": ["Kazakhstan","77"],
"KE": ["Kenya","254"],
"KI": ["Kiribati","686"],
"KP": ["Korea, Democratic People's Republic of","850"],
"KR": ["Korea, Republic of","82"],
"KW": ["Kuwait","965"],
"KG": ["Kyrgyzstan","996"],
"LA": ["Lao PDR","856"],
"LV": ["Latvia","371"],
"LB": ["Lebanon","961"],
"LS": ["Lesotho","266"],
"LR": ["Liberia","231"],
"LY": ["Libya","218"],
"LI": ["Liechtenstein","423"],
"LT": ["Lithuania","370"],
"LU": ["Luxembourg","352"],
"MO": ["Macao, Special Administrative Region of China","853"],
"MK": ["Macedonia, Republic of","389"],
"MG": ["Madagascar","261"],
"MW": ["Malawi","265"],
"MY": ["Malaysia","60"],
"MV": ["Maldives","960"],
"ML": ["Mali","223"],
"MT": ["Malta","356"],
"MH": ["Marshall Islands","692"],
"MQ": ["Martinique","596"],
"MR": ["Mauritania","222"],
"MU": ["Mauritius","230"],
"YT": ["Mayotte","262"],
"MX": ["Mexico","52"],
"FM": ["Micronesia, Federated States of","691"],
"MD": ["Moldova","373"],
"MC": ["Monaco","377"],
"MN": ["Mongolia","976"],
"ME": ["Montenegro","382"],
"MS": ["Montserrat","1"],
"MA": ["Morocco","212"],
"MZ": ["Mozambique","258"],
"MM": ["Myanmar","95"],
"NA": ["Namibia","264"],
"NR": ["Nauru","674"],
"NP": ["Nepal","977"],
"NL": ["Netherlands","31"],
"AN": ["Netherlands Antilles","599"],
"NC": ["New Caledonia","687"],
"NZ": ["New Zealand","64"],
"NI": ["Nicaragua","505"],
"NE": ["Niger","227"],
"NG": ["Nigeria","234"],
"NU": ["Niue","683"],
"NF": ["Norfolk Island","672"],
"MP": ["Northern Mariana Islands","1"],
"NO": ["Norway","47"],
"OM": ["Oman","968"],
"PK": ["Pakistan","92"],
"PW": ["Palau","680"],
"PS": ["Palestinian Territory, Occupied","970"],
"PA": ["Panama","507"],
"PG": ["Papua New Guinea","675"],
"PY": ["Paraguay","595"],
"PE": ["Peru","51"],
"PH": ["Philippines","63"],
"PN": ["Pitcairn","872"],
"PL": ["Poland","48"],
"PT": ["Portugal","351"],
"PR": ["Puerto Rico","1"],
"QA": ["Qatar","974"],
"RE": ["Réunion","262"],
"RO": ["Romania","40"],
"RU": ["Russian Federation","7"],
"RW": ["Rwanda","250"],
"SH": ["Saint Helena","290"],
"KN": ["Saint Kitts and Nevis","1"],
"LC": ["Saint Lucia","1"],
"PM": ["Saint Pierre and Miquelon","508"],
"VC": ["Saint Vincent and Grenadines","1"],
"BL": ["Saint-Barthélemy","590"],
"MF": ["Saint-Martin (French part)","590"],
"WS": ["Samoa","685"],
"SM": ["San Marino","378"],
"ST": ["Sao Tome and Principe","239"],
"SA": ["Saudi Arabia","966"],
"SN": ["Senegal","221"],
"RS": ["Serbia","381"],
"SC": ["Seychelles","248"],
"SL": ["Sierra Leone","232"],
"SG": ["Singapore","65"],
"SX": ["Sint Maarten","1"],
"SK": ["Slovakia","421"],
"SI": ["Slovenia","386"],
"SB": ["Solomon Islands","677"],
"SO": ["Somalia","252"],
"ZA": ["South Africa","27"],
"GS": ["South Georgia and the South Sandwich Islands","500"],
"SS?": ["South Sudan","211"],
"ES": ["Spain","34"],
"LK": ["Sri Lanka","94"],
"SD": ["Sudan","249"],
"SR": ["Suriname","597"],
"SJ": ["Svalbard and Jan Mayen Islands","47"],
"SZ": ["Swaziland","268"],
"SE": ["Sweden","46"],
"CH": ["Switzerland","41"],
"SY": ["Syrian Arab Republic (Syria)","963"],
"TW": ["Taiwan, Republic of China","886"],
"TJ": ["Tajikistan","992"],
"TZ": ["Tanzania, United Republic of","255"],
"TH": ["Thailand","66"],
"TL": ["Timor-Leste","670"],
"TG": ["Togo","228"],
"TK": ["Tokelau","690"],
"TO": ["Tonga","676"],
"TT": ["Trinidad and Tobago","1"],
"TN": ["Tunisia","216"],
"TR": ["Turkey","90"],
"TM": ["Turkmenistan","993"],
"TC": ["Turks and Caicos Islands","1"],
"TV": ["Tuvalu","688"],
"UG": ["Uganda","256"],
"UA": ["Ukraine","380"],
"AE": ["United Arab Emirates","971"],
"GB": ["United Kingdom","44"],
"US": ["United States of America","1"],
"UY": ["Uruguay","598"],
"UZ": ["Uzbekistan","998"],
"VU": ["Vanuatu","678"],
"VE": ["Venezuela (Bolivarian Republic of)","58"],
"VN": ["Viet Nam","84"],
"VI": ["Virgin Islands, US","1"],
"WF": ["Wallis and Futuna Islands","681"],
"EH": ["Western Sahara","212"],
"YE": ["Yemen","967"],
"ZM": ["Zambia","260"],
"ZW": ["Zimbabwe","263"]]
let countryDialingCode = prefix[countryRegionCode]
return countryDialingCode!
}
Run Code Online (Sandbox Code Playgroud)
然后调用上面的功能使用拨号代码和相应的国家/地区名称在UI中显示.
let currentLocale = NSLocale.currentLocale()
let countryCode = currentLocale.objectForKey(NSLocaleCountryCode) as! String
print("Country code according to Locale \(countryCode)")
let countryArray = getCountryCallingCode(countryCode)
print("Country Array according to the Locale \(countryArray)")
print("Country Name \(countryArray[0])")
print("Dialing code \(countryArray[1])")
Run Code Online (Sandbox Code Playgroud)