我的设置是:
我创建了一个单视图iphone项目。构建它可以在模拟器和设备上运行。
现在我双击.xib文件,在XCode中添加Textfield并创建一个插座。没有其他代码。
在模拟器上运行此功能非常有效。在任何iPhone设备上运行它都会在启动时崩溃。我设法得到以下堆栈跟踪:
System.NullReferenceException: Object reference not set to an instance of an object
at MonoDevelop.Debugger.ObjectValueTreeView.SetValues (TreeIter parent, TreeIter it, System.String name, Mono.Debugging.Client.ObjectValue val) [0x0000d] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:640
at MonoDevelop.Debugger.ObjectValueTreeView.AppendValue (TreeIter parent, System.String name, Mono.Debugging.Client.ObjectValue val) [0x00034] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:627
at MonoDevelop.Debugger.ObjectValueTreeView.Refresh () [0x00091] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:468
at MonoDevelop.Debugger.ObjectValueTreeView.AddValue (Mono.Debugging.Client.ObjectValue value) [0x0000c] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ObjectValueTreeView.cs:416
at MonoDevelop.Debugger.ExceptionCaughtDialog.Fill () [0x00084] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ExceptionCaughtDialog.cs:82
at MonoDevelop.Debugger.ExceptionCaughtDialog.<HandleExceptionChanged>m__0 (System.Object , System.EventArgs ) [0x00000] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/ExceptionCaughtDialog.cs:63
at Gtk.Application+InvokeCB.Invoke () [0x00000] in <filename unknown>:0
at GLib.Timeout+TimeoutProxy.Handler () [0x00000] in <filename unknown>:0
有人提到MonotTouch 4仅适用于MonoDevelop 2.6。问题是我已经在MD 2.8.5中编写了很多代码,因为模拟器正在运行,当我回滚到MD 2.6时,项目将无法加载......
抱歉缺少格式,我是stackoverflow的新手
感谢任何帮助。
Themos
答案 0 :(得分:2)
您在XIB文件中有一个插座未映射到C#中控制器中的属性。这就是精彩的class is not key value coding-compliant
消息所表明的。 Here is a link
我建议您使用最新的MonoTouch / MonoDevelop(非测试版)和XCode,然后找到您所拥有的插座,看看哪一个没有正确连接。
如果XCode不能为您执行此操作,您可以手动设置它们,您可以为插座的属性添加一个简单的[Outlet]
属性。查看*.designer.cs
文件以获取示例。