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;
}
}
}