MonoTouch 公开了RespondsToSelector方法,用于检查跨 iOS 版本的方法的可用性。
但是,我似乎不知道如何对课程可用性进行类似的检查。
Apple 在此处记录了在 iOS 4.2+ 中您应该尝试访问class
所需类的静态选择器。例如:
if ([EKReminder class])
{
....
}
然而,这似乎并没有暴露出来。我认为这与我之前的问题类似,因为要在 MT 中实现这一点,需要Class
在每个 MT 类型上显式映射静态属性。
所以我想我的问题是,我应该只使用旧的 pre iOS 4.2 技术吗?IE:
Class cls = NSClassFromString (@"EKReminder");
if (cls)
{
...
}
我认为映射到:
var iosClass = Class.GetHandle("EKReminder");
if ( iosClass != null )
...
或者使用Messaging中可用的互操作方法手动调用选择器?
还是我没有找到的其他方法?