我已经通过几种不同的方法进行了尝试,但这并没有按预期工作。这是一个混合 iOS 应用程序,大约一半的屏幕 UIViewControllers 带有一个主 UIWebView。处理 UIWebView 事件有很多类似的逻辑,尤其是在错误处理方面。子类稍微更专门处理正在呈现的屏幕。所以,类图大致是:
UIViewController
+- BaseWebController <-- this class should bind to UIWebView
+-- ScreenAController
+-- ScreenBController
+-- ...
BaseWebController.designer.cs 是非常基础的。事实上,一旦连接起来,它看起来像:
[Register ("BaseWebController")]
partial class BaseWebController
{
[Outlet]
MonoTouch.UIKit.UIWebView WebView { get; set; }
void ReleaseDesignerOutlets ()
{
if (WebView != null) {
WebView.Dispose ();
WebView = null;
}
}
}
问题是:我得到了各种异常,因为 UIWebView 没有正确绑定到 WebView 实例。我收到各种消息,例如'Failed to find selector setWebView: on ScreenAController',但归结为(我认为)它试图绑定父类(ScreenAController)并失败。
问题:我是否错过了这个绑定应该如何工作的东西?本质上,我试图保持这个非常干燥并将所有重复的代码推送到基类。否则,我最终会为每个屏幕重复相同的 100 行连线代码和错误检查。
TIA。