Iphone,从MonoTouch获取国家列表
是否有可能复制MonoTouch中的代码?
这是我迄今为止所尝试的:
foreach(string countryCode in NSLocale.ISOCountryCodes){ // How to convert this objective-c code to c#? // [[NSLocale currentLocale] displayNameForKey:NSLocaleCountryCode value:countryCode] }
可悲的是,快速查看显示displayNameForKey:value:是(从MonoMac)绑定缺less的(目前为4.2.x)。 我会考虑实现它,并将更新此条目完成后。
更新 :源代码来解决缺less的绑定
public void DisplayCountryCodeNames () { NSLocale current = NSLocale.CurrentLocale; IntPtr handle = current.Handle; IntPtr selDisplayNameForKeyValue = new Selector ("displayNameForKey:value:").Handle; foreach (var countryCode in NSLocale.ISOCountryCodes) { using (var key = new NSString ("kCFLocaleCountryCodeKey")) { using (var nsvalue = new NSString (countryCode)) { string ret = NSString.FromHandle (MonoTouch.ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr (handle, selDisplayNameForKeyValue, key.Handle, nsvalue.Handle)); Console.WriteLine ("{0} -> {1}", countryCode, ret); } } } }
适应你的喜好,并与MonoTouch玩得开心!
ps我会更新绑定,所以它将被包含在未来版本的MonoTouch中更适合的 API 😉
是的,这当然是可能的。 MonoTouch将iOS API包装在C#类中,以便您可以在Objective-C中执行C#中的任何操作。 不幸的是,你必须下载试用版才能获得文档。 我想代码看起来像这样:
foreach(string countryCode in NSLocale.ISOCountryCodes){ string CountryName = NSLocale.displayNameForKey(NSLocaleCountryCode, countryCode); }
- 在button上播放声音(AVaudio播放器)返回零string参数
- 隐藏导航栏,但是当我转换到以前的视图(popup),它暂时显示旧的后退button。 为什么?
- 如果类中的实例variables的值发生了变化,我该如何触发断点?
- 是否可以从我的应用程序与iOS 5的提醒应用程序进行交互?
- iOS使用UIActivityViewController将图像共享到LinkedIn
- 如何在数据库操作中插入更新删除,并将数据库保存在文档目录中
- Xamarin.Forms iOS UIKit.UIImage错误
- 在Swift中编写自定义模式匹配
- ReactNative – 未处理的JSexception:SyntaxError