2015-08-09 15 views
9

Ich arbeite an einem Projekt Ich muss die ausgewählte Telefonnummer (welcher Benutzer bereits aus der Liste der Telefonkontakte ausgewählt) an den Server mit dem Format: internationalen-Code-ohne-Nullen-oder-Plus-die-Nummer so Ich muss mit vielen Fällen umgehen: Nummer ohne internationalen Code, Nummer mit Nullen, Nummer mit Plus, Nummer mit zwei Nullen ..etc Das Problem ist, wenn ich eine lokale Telefonnummer beispiellos durch Länder-Telefoncode habe, könnte ich das aktuelle Land bekommen Name (Ländercode) wenn das Gerät über diesen Code eine gültige SIM-Karte besitztWie bekomme ich den Ländercode für den angegebenen Ländernamen in Swift iOS?

let networkInfo: CTTelephonyNetworkInfo = CTTelephonyNetworkInfo() 
let ar = networkInfo.subscriberCellularProvider 
if ar != nil { 
if let mcc = ar.mobileCountryCode { 
    myInformation.countryCode = mcc 
    } 

dann wie bekomme ich den Ländercode?

+0

Sie können diesen Rahmen überprüfen https://github.com/NikKovIos/NKVPhonePicker Landesvorwahl Kommissionierung zu automatisieren. –

Antwort

9

Meine vorgeschlagene Antwort ist so etwas wie Brute-Force-Methode! ist es, alle Ländernamen und seinem angepassten Land Telefonvorwahl in einem Wörterbuch aufzulisten und verwenden Funktion suchen, die mir den angepassten Telefon Code zu einem bestimmten Ländercode

func getCountryPhonceCode (country : String) -> String 
{ 

    if count(country) == 2 
    { 
     let x : [String] = ["972", "IL", 
      "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", 
      "284", "VG", 
      "340", "VI", 
      "678","VU", 
      "681","WF", 
      "685","WS", 
      "967","YE", 
      "262","YT", 
      "27","ZA", 
      "260","ZM", 
      "263","ZW"] 
     var keys = [String]() 
     var values = [String]() 
     let whitespace = NSCharacterSet.decimalDigitCharacterSet() 

     //let range = phrase.rangeOfCharacterFromSet(whitespace) 
     for i in x { 
      // range will be nil if no whitespace is found 
      if (i.rangeOfCharacterFromSet(whitespace) != nil) { 
       values.append(i) 
      } 
      else { 
       keys.append(i) 
      } 
     } 
     var countryCodeListDict = NSDictionary(objects: values as [String], forKeys: keys as [String]) 
if let t: AnyObject = countryCodeListDict[country] { 
     return countryCodeListDict[country] as! String 
     } else 
     { 
      return "" 
     } 
     } 
    else 
    { 
     return "" 
    } 
} 
+0

Bitte update für swift 3 –

+0

@VarunNaharia Ich habe Swift 3 Code hinzugefügt –

+0

Funktioniert nicht für mich !, Ty jeden Weg –

1

Soweit mir bekannt ist, gibt es keine integrierte Methode, um diese Informationen zu erhalten. Sie können die Daten jedoch in Ihrer Anwendung speichern und basierend auf dem gerade erhaltenen Ländercode nachschlagen.

Eine vollständige Liste der bekannten Codes ist auf Wikipedia

Sie sie als lange .plist-Datei speichern können, die Sie dann in und Abfrage als ein Wörterbuch durch den Ländercode eingegeben laden kann.

2

ich es wieder gut gemacht Hilfe Klasse gibt und ich machte einen example app

import Foundation 

public class Countries { 

    // MARK: - var and let 

    // MARK: - functions 
    public static func getAllCountries() -> [Country] { 
     var countries = [Country]() 
     NSLocale.ISOCountryCodes().forEach { (isoCode) in 
      guard let countryName = NSLocale.currentLocale().displayNameForKey(NSLocaleCountryCode, value: isoCode) else { return } 
      if let countryInfo = countryInfoDictionary[isoCode] { 
       let phoneExtension = countryInfo["phoneExtension"] as! String 
       let isMain = countryInfo["isMain"] as! Bool 
       countries.append(Country(name: countryName, phoneExtension: phoneExtension, countryCode: isoCode, isMain: isMain)) 
      } else { 
       countries.append(Country(name: countryName, phoneExtension: nil, countryCode: isoCode, isMain: nil)) 
      } 
     } 
     return countries 
    } 

    public static func getCountriesByFirstLetter() -> [(String, [Country])] { 
     let countries = getAllCountries() 
     var countryDictionary = [String : [Country]]() 
     var countryFirstLetterArray = [String]() 

     countries.forEach { (country) in 
      let letterIndex = country.name.startIndex.advancedBy(0) 
      countryFirstLetterArray.append(String(country.name[letterIndex])) 
      if countryFirstLetterArray.count == 249 { 
       countryFirstLetterArray = Array(Set(countryFirstLetterArray)) 

       countryFirstLetterArray.sortInPlace({ (firstString, secondString) -> Bool in 
        firstString < secondString 
       }) 
      } 
     } 

     // 
     countryFirstLetterArray.forEach { (letter) in 
      countries.forEach({ (country) in 
       let letterIndex = country.name.startIndex.advancedBy(0) 
       let firsNameLetter = String(country.name[letterIndex]) 
       if firsNameLetter == letter { 
        if var countries = countryDictionary[letter] { 
         countries.append(country) 
         countryDictionary[letter] = countries 
        } else { 
         countryDictionary[letter] = [country] 
        } 
       } 
      }) 
     } 

     // sorting 
     let returnedCountries = countryDictionary.sort({$0.0 < $1.0}) 

     return returnedCountries 
    } 

    public static func getCountriesWithPhone() -> [Country] { 
     var countries = getCountriesWithPhoneCode() 
     countries.sortInPlace({$0.name < $1.name}) 
     return countries 
    } 

    public static func getCountriesByPhoneCode() -> [Country] { 
     var countries = getCountriesWithPhoneCode() 
     countries.sortInPlace({$0.phoneExtension! < $1.phoneExtension}) 
     return countries 
    } 

    private static func getCountriesWithPhoneCode() -> [Country] { 
     let countries = getAllCountries() 
     var returnedCountries = [Country]() 
     countries.forEach { (country) in 
      if country.phoneExtension != nil { 
       returnedCountries.append(country) 
      } 
     } 
     return returnedCountries 
    } 
} 

extension Countries { 

    public static var countryInfoDictionary = ["AF" : ["phoneExtension" : "93", "isMain" : true], "AL" : ["phoneExtension" : "355", "isMain" : true], "DZ" : ["phoneExtension" : "213", "isMain" : true], "AS" : ["phoneExtension" : "1", "isMain" : false], "AD" : ["phoneExtension" : "376", "isMain" : true], "AO" :["phoneExtension" : "244", "isMain" : true], "AI" : ["phoneExtension" : "1", "isMain" : false], "AQ" : ["phoneExtension" : "672", "isMain" : true], "AG" : ["phoneExtension" : "1", "isMain" : false], "AR" : ["phoneExtension" : "54", "isMain" : true], "AM" : ["phoneExtension" : "374", "isMain" : true], "AW" : ["phoneExtension" : "297", "isMain" : true], "AU" : ["phoneExtension" : "61", "isMain" : true], "AT" : ["phoneExtension" : "43", "isMain" : true], "AZ": ["phoneExtension" : "994", "isMain" : true], "BS" : ["phoneExtension" : "1", "isMain" : false], "BH" : ["phoneExtension" : "973", "isMain": true], "BD" : ["phoneExtension" : "880", "isMain": true], "BB" : ["phoneExtension" : "1", "isMain": false], "BY" : ["phoneExtension" : "375", "isMain" : true], "BE" : ["phoneExtension": "32", "isMain": true], "BZ" : ["phoneExtension": "501", "isMain": true], "BJ" : ["phoneExtension" : "229", "isMain" : true], "BM" : ["phoneExtension" : "1", "isMain": false], "BT" : ["phoneExtension": "975", "isMain": true], "BO" : ["phoneExtension" : "591", "isMain": true], "BA" : ["phoneExtension" : "387", "isMain" : true], "BW" : ["phoneExtension" : "267", "isMain": true], "BR" : ["phoneExtension": "55", "isMain": true], "IO" : ["phoneExtension": "246", "isMain": true], "VG" : ["phoneExtension": "1", "isMain": false], "BN" : ["phoneExtension": "673", "isMain": true], "BG" : ["phoneExtension": "359", "isMain": true], "BF" :["phoneExtension": "226", "isMain": true], "BI" : ["phoneExtension": "257", "isMain": true], "KH" : ["phoneExtension": "855", "isMain": true], "CM" : ["phoneExtension": "237", "isMain": true], "CA" : ["phoneExtension": "1", "isMain": false], "CV" : ["phoneExtension" : "238", "isMain" : true], "KY" : ["phoneExtension" : "1", "isMain": false], "CF" : ["phoneExtension": "236", "isMain": true], "TD" : ["phoneExtension": "235", "isMain": true], "CL" : ["phoneExtension": "56", "isMain": true], "CN" : ["phoneExtension" : "86", "isMain": true], "CX" : ["phoneExtension" : "61", "isMain" : false], "CC" : ["phoneExtension" : "61", "isMain": false], "CO" : ["phoneExtension" : "57", "isMain": true], "KM" : ["phoneExtension": "269", "isMain": true], "CK" : ["phoneExtension": "682", "isMain": true], "CR" : ["phoneExtension" : "506", "isMain": true], "HR" : ["phoneExtension": "385", "isMain" : true], "CU" : ["phoneExtension": "53", "isMain": true], "CW" : ["phoneExtension": "599", "isMain": true], "CY" : ["phoneExtension" : "357", "isMain": true], "CZ" : ["phoneExtension": "420", "isMain": true], "CD" :["phoneExtension": "243", "isMain": true], "DK" : ["phoneExtension": "45", "isMain": true], "DJ" : ["phoneExtension" : "253", "isMain": true], "DM" : ["phoneExtension": "1", "isMain": false], "DO" : ["phoneExtension" : "1", "isMain": false], "TL" : ["phoneExtension": "670", "isMain": true], "EC" : ["phoneExtension" : "593", "isMain": true], "EG" : ["phoneExtension": "20", "isMain": true], "SV" : ["phoneExtension" : "503", "isMain" : true], "GQ" : ["phoneExtension" : "240", "isMain": true], "ER" : ["phoneExtension" : "291", "isMain": true], "EE" : ["phoneExtension" : "372", "isMain": true], "ET" : ["phoneExtension" : "251", "isMain": true], "FK" : ["phoneExtension" : "500", "isMain": true], "FO" : ["phoneExtension": "298", "isMain": true], "FJ" : ["phoneExtension": "679", "isMain": true], "FI" : ["phoneExtension" : "358", "isMain": true], "FR" : ["phoneExtension" : "33", "isMain" : true], "PF" : ["phoneExtension" : "689", "isMain": true], "GA" : ["phoneExtension" : "241", "isMain": true], "GM" : ["phoneExtension" : "220", "isMain" : true], "GE" : ["phoneExtension": "995", "isMain": true], "DE" : ["phoneExtension" : "49", "isMain": true], "GH" : ["phoneExtension" : "233", "isMain": true], "GI" :["phoneExtension" : "350", "isMain": true], "GR" : ["phoneExtension": "30", "isMain": true], "GL" : ["phoneExtension": "299", "isMain": true], "GD" : ["phoneExtension": "1", "isMain": false], "GU" : ["phoneExtension": "1", "isMain": false], "GT" : ["phoneExtension": "502", "isMain": true], "GG" : ["phoneExtension": "44", "isMain": false], "GN" : ["phoneExtension": "224", "isMain": true], "GW" : ["phoneExtension" : "245", "isMain": true], "GY" : ["phoneExtension": "592", "isMain": true], "HT" : ["phoneExtension": "509", "isMain": true], "HN" : ["phoneExtension": "504", "isMain": true], "HK" : ["phoneExtension": "652", "isMain": true], "HU" : ["phoneExtension": "36", "isMain": true], "IS" :["phoneExtension": "354", "isMain": true], "IN" : ["phoneExtension": "91", "isMain": true], "ID" :["phoneExtension": "62", "isMain": true], "IR" : ["phoneExtension": "98", "isMain": true], "IQ" : ["phoneExtension" : "964", "isMain" : true], "IE" : ["phoneExtension": "353", "isMain": true], "IM" : ["phoneExtension": "44", "isMain": false], "IL" : ["phoneExtension": "972", "isMain": true], "IT" : ["phoneExtension": "39", "isMain": true], "CI" : ["phoneExtension": "225", "isMain": true], "JM" : ["phoneExtension": "1", "isMain": false], "JP" : ["phoneExtension": "81", "isMain": true], "JE" : ["phoneExtension": "44", "isMain": false], "JO" : ["phoneExtension" : "962", "isMain": true], "KZ" : ["phoneExtension" : "7", "isMain": false], "KE" : ["phoneExtension" : "254", "isMain": true], "KI" : ["phoneExtension" : "686", "isMain": true], "XK" : ["phoneExtension": "383", "isMain": true], "KW" : ["phoneExtension": "965", "isMain": true], "KG" : ["phoneExtension": "996", "isMain": true], "LA" : ["phoneExtension": "856", "isMain": true], "LV" : ["phoneExtension": "371", "isMain": true], "LB" : ["phoneExtension": "961", "isMain": true], "LS" : ["phoneExtension": "266", "isMain": true], "LR" : ["phoneExtension": "231", "isMain": true], "LY" : ["phoneExtension": "218", "isMain": true], "LI" : ["phoneExtension": "423", "isMain": true], "LT" : ["phoneExtension": "370", "isMain": true], "LU" : ["phoneExtension": "352", "isMain": true], "MO" : ["phoneExtension": "853", "isMain": true], "MK" : ["phoneExtension": "389", "isMain": true], "MG" : ["phoneExtension": "261", "isMain": true], "MW" : ["phoneExtension": "265", "isMain": true], "MY" : ["phoneExtension": "60", "isMain": true], "MV" : ["phoneExtension": "960", "isMain": true], "ML" : ["phoneExtension": "223", "isMain": true], "MT" : ["phoneExtension": "356", "isMain": true], "MH" : ["phoneExtension": "692", "isMain": true], "MR" : ["phoneExtension": "222", "isMain": true], "MU" : ["phoneExtension": "230", "isMain": true], "YT" : ["phoneExtension": "262", "isMain": true], "MX" : ["phoneExtension": "52", "isMain": true], "FM" : ["phoneExtension": "691", "isMain": true], "MD" : ["phoneExtension": "373", "isMain": true], "MC" : ["phoneExtension": "377", "isMain": true], "MN" : ["phoneExtension": "976", "isMain": true], "ME" : ["phoneExtension": "382", "isMain": true], "MS" : ["phoneExtension": "1", "isMain": false], "MA" : ["phoneExtension": "212", "isMain": true], "MZ" : ["phoneExtension": "258", "isMain": true], "MM" : ["phoneExtension": "95", "isMain": true], "NA": ["phoneExtension": "264", "isMain": true], "NR" : ["phoneExtension": "674", "isMain": true], "NP" : ["phoneExtension": "977", "isMain": true], "NL" : ["phoneExtension": "31", "isMain": true], "AN" : ["phoneExtension": "599", "isMain": true], "NC" : ["phoneExtension": "687", "isMain": true], "NZ" : ["phoneExtension": "64", "isMain": true], "NI" : ["phoneExtension": "505", "isMain": true], "NE" : ["phoneExtension": "227", "isMain": true], "NG" : ["phoneExtension": "234", "isMain": true], "NU" : ["phoneExtension": "683", "isMain": true], "KP" : ["phoneExtension": "850", "isMain": true], "MP" : ["phoneExtension": "1", "isMain": false], "NO" : ["phoneExtension": "47", "isMain": true], "OM" : ["phoneExtension": "968", "isMain": true], "PK" : ["phoneExtension": "92", "isMain": true], "PW" : ["phoneExtension": "680", "isMain": true], "PS" : ["phoneExtension": "970", "isMain": true], "PA" : ["phoneExtension": "507", "isMain": true], "PG" : ["phoneExtension": "675", "isMain": true], "PY" : ["phoneExtension": "595", "isMain": true], "PE" : ["phoneExtension": "51", "isMain": true], "PH" : ["phoneExtension": "63", "isMain": true], "PN" :["phoneExtension": "64", "isMain": false], "PL" : ["phoneExtension": "48", "isMain": true], "PT" : ["phoneExtension": "351", "isMain": true], "PR" : ["phoneExtension": "1", "isMain": false], "QA" : ["phoneExtension": "974", "isMain": true], "CG" : ["phoneExtension": "242", "isMain": true], "RE" : ["phoneExtension": "262", "isMain": false], "RO" : ["phoneExtension": "40", "isMain": true], "RU" : ["phoneExtension": "7", "isMain": true], "RW" : ["phoneExtension": "250", "isMain": true], "BL" : ["phoneExtension": "590", "isMain": true], "SH": ["phoneExtension": "290", "isMain": true], "KN" : ["phoneExtension": "1", "isMain": false], "LC" : ["phoneExtension": "1", "isMain": false], "MF" : ["phoneExtension": "590", "isMain": false], "PM" : ["phoneExtension": "508", "isMain": true], "VC": ["phoneExtension": "1", "isMain": false], "WS" : ["phoneExtension": "685", "isMain": true], "SM" : ["phoneExtension": "378", "isMain": true], "ST" : ["phoneExtension": "239", "isMain": true], "SA" : ["phoneExtension": "966", "isMain": true], "SN" : ["phoneExtension": "221", "isMain": true], "RS" : ["phoneExtension": "381", "isMain": true], "SC" : ["phoneExtension": "248", "isMain": true], "SL" : ["phoneExtension": "232", "isMain": true], "SG" : ["phoneExtension": "65", "isMain": true], "SX" : ["phoneExtension": "1", "isMain": false], "SK" : ["phoneExtension": "421", "isMain": true], "SI" : ["phoneExtension": "386", "isMain": true], "SB" : ["phoneExtension": "677", "isMain": true], "SO" : ["phoneExtension": "252", "isMain": true], "ZA" : ["phoneExtension": "27", "isMain": true], "KR" : ["phoneExtension": "82", "isMain": true], "SS" : ["phoneExtension": "211", "isMain": true], "ES" : ["phoneExtension": "34", "isMain": true], "LK" : ["phoneExtension": "94", "isMain": true], "SD" : ["phoneExtension": "249", "isMain": true], "SR" : ["phoneExtension": "597", "isMain": true], "SJ" : ["phoneExtension": "47", "isMain": true], "SZ" : ["phoneExtension": "268", "isMain": true], "SE" : ["phoneExtension": "46", "isMain": true], "CH" : ["phoneExtension": "41", "isMain": true], "SY" : ["phoneExtension": "963", "isMain": true], "TW" : ["phoneExtension": "886", "isMain": true], "TJ" : ["phoneExtension": "992", "isMain": true], "TZ" : ["phoneExtension": "255", "isMain": true], "TH" : ["phoneExtension": "66", "isMain": true], "TG": ["phoneExtension": "228", "isMain": true], "TK" : ["phoneExtension": "690", "isMain": true], "TO" : ["phoneExtension": "676", "isMain": true], "TT" :["phoneExtension": "1", "isMain": false], "TN" : ["phoneExtension": "216", "isMain": true], "TR" : ["phoneExtension": "90", "isMain": true], "TM" : ["phoneExtension": "993", "isMain": true], "TC" : ["phoneExtension": "1", "isMain": false], "TV" : ["phoneExtension": "688", "isMain": true], "VI" : ["phoneExtension": "1", "isMain": false], "UG" : ["phoneExtension": "256", "isMain": true], "UA" : ["phoneExtension": "380", "isMain": true], "AE": ["phoneExtension": "971", "isMain": true], "GB" : ["phoneExtension": "44", "isMain": true], "US" : ["phoneExtension": "1", "isMain": true], "UY" : ["phoneExtension": "598", "isMain": true], "UZ" : ["phoneExtension": "998", "isMain": true], "VU" : ["phoneExtension": "678", "isMain": true], "VA" : ["phoneExtension": "379", "isMain": true], "VE" : ["phoneExtension": "58", "isMain": true], "VN" : ["phoneExtension": "84", "isMain": true], "WF" : ["phoneExtension": "681", "isMain": true], "EH" : ["phoneExtension": "212", "isMain": true], "YE" : ["phoneExtension": "967", "isMain": true], "ZM" : ["phoneExtension": "260", "isMain": true], "ZW" : ["phoneExtension": "263", "isMain": true]] 

} 

public class Country { 

    public var name: String 
    public var phoneExtension: String? 
    public var countryCode: String 
    public var isMain: Bool? 

    public init(name: String, phoneExtension: String?, countryCode: String, isMain: Bool?) { 
     self.name = name 
     self.phoneExtension = phoneExtension 
     self.countryCode = countryCode 
     self.isMain = isMain 
    } 
} 
+0

was genau bedeutet "IsMain" -Eigenschaft? – demon9733

7
class func getCountryPhonceCode (_ country : String) -> String 
    { 
     var countryDictionary = ["AF":"93", 
            "AL":"355", 
            "DZ":"213", 
            "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", 
            "BD":"880", 
            "BB":"1", 
            "BY":"375", 
            "BE":"32", 
            "BZ":"501", 
            "BJ":"229", 
            "BM":"1", 
            "BT":"975", 
            "BA":"387", 
            "BW":"267", 
            "BR":"55", 
            "IO":"246", 
            "BG":"359", 
            "BF":"226", 
            "BI":"257", 
            "KH":"855", 
            "CM":"237", 
            "CA":"1", 
            "CV":"238", 
            "KY":"345", 
            "CF":"236", 
            "TD":"235", 
            "CL":"56", 
            "CN":"86", 
            "CX":"61", 
            "CO":"57", 
            "KM":"269", 
            "CG":"242", 
            "CK":"682", 
            "CR":"506", 
            "HR":"385", 
            "CU":"53", 
            "CY":"537", 
            "CZ":"420", 
            "DK":"45", 
            "DJ":"253", 
            "DM":"1", 
            "DO":"1", 
            "EC":"593", 
            "EG":"20", 
            "SV":"503", 
            "GQ":"240", 
            "ER":"291", 
            "EE":"372", 
            "ET":"251", 
            "FO":"298", 
            "FJ":"679", 
            "FI":"358", 
            "FR":"33", 
            "GF":"594", 
            "PF":"689", 
            "GA":"241", 
            "GM":"220", 
            "GE":"995", 
            "DE":"49", 
            "GH":"233", 
            "GI":"350", 
            "GR":"30", 
            "GL":"299", 
            "GD":"1", 
            "GP":"590", 
            "GU":"1", 
            "GT":"502", 
            "GN":"224", 
            "GW":"245", 
            "GY":"595", 
            "HT":"509", 
            "HN":"504", 
            "HU":"36", 
            "IS":"354", 
            "IN":"91", 
            "ID":"62", 
            "IQ":"964", 
            "IE":"353", 
            "IL":"972", 
            "IT":"39", 
            "JM":"1", 
            "JP":"81", 
            "JO":"962", 
            "KZ":"77", 
            "KE":"254", 
            "KI":"686", 
            "KW":"965", 
            "KG":"996", 
            "LV":"371", 
            "LB":"961", 
            "LS":"266", 
            "LR":"231", 
            "LI":"423", 
            "LT":"370", 
            "LU":"352", 
            "MG":"261", 
            "MW":"265", 
            "MY":"60", 
            "MV":"960", 
            "ML":"223", 
            "MT":"356", 
            "MH":"692", 
            "MQ":"596", 
            "MR":"222", 
            "MU":"230", 
            "YT":"262", 
            "MX":"52", 
            "MC":"377", 
            "MN":"976", 
            "ME":"382", 
            "MS":"1", 
            "MA":"212", 
            "MM":"95", 
            "NA":"264", 
            "NR":"674", 
            "NP":"977", 
            "NL":"31", 
            "AN":"599", 
            "NC":"687", 
            "NZ":"64", 
            "NI":"505", 
            "NE":"227", 
            "NG":"234", 
            "NU":"683", 
            "NF":"672", 
            "MP":"1", 
            "NO":"47", 
            "OM":"968", 
            "PK":"92", 
            "PW":"680", 
            "PA":"507", 
            "PG":"675", 
            "PY":"595", 
            "PE":"51", 
            "PH":"63", 
            "PL":"48", 
            "PT":"351", 
            "PR":"1", 
            "QA":"974", 
            "RO":"40", 
            "RW":"250", 
            "WS":"685", 
            "SM":"378", 
            "SA":"966", 
            "SN":"221", 
            "RS":"381", 
            "SC":"248", 
            "SL":"232", 
            "SG":"65", 
            "SK":"421", 
            "SI":"386", 
            "SB":"677", 
            "ZA":"27", 
            "GS":"500", 
            "ES":"34", 
            "LK":"94", 
            "SD":"249", 
            "SR":"597", 
            "SZ":"268", 
            "SE":"46", 
            "CH":"41", 
            "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", 
            "AE":"971", 
            "GB":"44", 
            "US":"1", 
            "UY":"598", 
            "UZ":"998", 
            "VU":"678", 
            "WF":"681", 
            "YE":"967", 
            "ZM":"260", 
            "ZW":"263", 
            "BO":"591", 
            "BN":"673", 
            "CC":"61", 
            "CD":"243", 
            "CI":"225", 
            "FK":"500", 
            "GG":"44", 
            "VA":"379", 
            "HK":"852", 
            "IR":"98", 
            "IM":"44", 
            "JE":"44", 
            "KP":"850", 
            "KR":"82", 
            "LA":"856", 
            "LY":"218", 
            "MO":"853", 
            "MK":"389", 
            "FM":"691", 
            "MD":"373", 
            "MZ":"258", 
            "PS":"970", 
            "PN":"872", 
            "RE":"262", 
            "RU":"7", 
            "BL":"590", 
            "SH":"290", 
            "KN":"1", 
            "LC":"1", 
            "MF":"590", 
            "PM":"508", 
            "VC":"1", 
            "ST":"239", 
            "SO":"252", 
            "SJ":"47", 
            "SY":"963", 
            "TW":"886", 
            "TZ":"255", 
            "TL":"670", 
            "VE":"58", 
            "VN":"84", 
            "VG":"284", 
            "VI":"340"] 
     if countryDictionary[country] != nil { 
      return countryDictionary[country]! 
     } 

     else { 
      return "" 
     } 

    }