2011-11-24 61 views
0

我已经创建了一个UIViewController衍生基本视图控制器,我的大多数控制器的继承:的MonoTouch无法打开厦门国际银行文件时,相关的控制器从基类派生

public abstract class ViewModelViewController<T> : 
    UIViewController where T : ViewModelBase 
{ 
... 
} 

只要控制器从这个派生基本控制器...

public partial class MainViewController : 
    ViewModelViewController<MainPageViewModel> 
{ 
.. 
} 

试图打开与此错误控制器结果相关的.xib它不会消失,通过重建,重新启动或什么苦肉计:

Error updating Objective-C type information. Argument cannot be null. 
Parameter name: type. 

ArgumentNullException: Argument cannot be null. 
Parameter name: type 
    at MonoDevelop.Projects.Dom.Parser.ProjectDom+<GetInheritanceTree>c__Iterator33.MoveNext() [0x0023d] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Dom.Parser/ProjectDom.cs:164 
    at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.ResolveCliToObjc (MonoDevelop.MacDev.ObjCIntegration.NSObjectTypeInfo type) [0x000fb] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs:182 
    at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.Update() [0x000fe] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs:89 
    at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.Update (Boolean force) [0x0000c] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/ObjCIntegration/NSObjectProjectInfo.cs:66 
    at MonoDevelop.MacDev.XcodeSyncing.XcodeProjectTracker.UpdateTypes (IProgressMonitor monitor, Boolean force) [0x00034] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.MacDev/XcodeSyncing/XcodeProjectTracker.cs:302 

唯一的解决方法(这不是真的不是一个选项),是在编辑xib之前注释掉整个部分类。这是一个展示者。

有谁知道一个真正的解决方法?

+0

请问您是否使用基础和MainViewController的构造函数更新代码? –

+0

请在http://bugzilla.xamarin.com上填写错误报告产品:** MonoDeveloper **组件** iPhone插件**。谢谢 – poupou

回答

1

修复程序this bug将在下一次MonoDevelop更新中。

+0

感谢您的更新。同时用[Register(“ViewModelViewController”)]装饰我的基本控制器似乎可以缓解这个问题。 –

相关问题