using System; using Shared.IOS.JLCountryCode; using Foundation; using System.Collections.Generic; namespace JLCountrycode { public class CountryCodeView { /// /// /// private static CountryCodeView m_Current = null; /// /// /// public static CountryCodeView Current { get { if (m_Current == null) { m_Current = new CountryCodeView(); } return m_Current; } } /// /// 国家区号选择 /// /// public void Show(Action action) { JLCountryCodeController mJLCountryCodeController = new JLCountryCodeController(); mJLCountryCodeController.SelectCountryCodeBlock += (countryName, code) => { action?.Invoke(countryName, code); }; Shared.Application.currentVC.NavigationController.PushViewController(mJLCountryCodeController, true); } /// /// 选择 /// /// /// /// public void ShowSortSelection(string titleStr, Dictionary> dic, Action action) { try { JLSortSelectionViewController vc = new JLSortSelectionViewController(); vc.TitleStr = titleStr; vc.SortedNameDict = ConvertToNativeDictionary(dic); vc.SortSelectionBlock += (countryName) => { action?.Invoke(countryName); }; Shared.Application.currentVC.NavigationController.PushViewController(vc, true); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } /// /// Dictionary 转 iOS原生 NSMutableDictionary /// /// /// NSMutableDictionary ConvertToNativeDictionary(Dictionary> dict) { NSMutableDictionary newDictionary = new NSMutableDictionary(); try { //var dictDataList = new NSMutableArray(); foreach (string key in dict.Keys) { var value = dict[key]; newDictionary.Add(new NSString(key), NSArray.FromObjects(value.ToArray())); } } catch (Exception Ex) { Console.WriteLine(Ex.ToString()); } return newDictionary; } } }