我正在测试下面的代码,来自WROX书籍示例Mapping05(在此处找到)
UIButton rightCallout = UIButton.FromType (UIButtonType.DetailDisclosure);
rightCallout.TouchDown += delegate {
//NSUrl url = new NSUrl ("http://wrox.com/");
//if (!UIApplication.SharedApplication.OpenUrl (url)) {
// System.Console.WriteLine ("Sorry, can't open url");
//}
ShowAlert("iPad", "TouchDown");
};
pinView.RightCalloutAccessoryView = rightCallout;
但它失败了: 来自gdb的调试信息:
/tmp/mono-gdb-commands.n8GR64:1:源命令文件中出错: 无法调试自己
=============================================== ================== 执行本机代码时获得SIGSEGV。这通常表明 单声道运行时或其中一个本机库中的致命错误
有什么建议吗? 我在Monotouch,MonoDevelop和SDK 4.2上运行最新版本
答案 0 :(得分:1)
对此的简单修复是将您的按钮放在类级别,而不是在方法内。
答案 1 :(得分:0)
我知道那个问题。我认为垃圾收集存在问题。
因为如果你在这个类中创建了UIButton列表并且向它添加了rightCallout Button,那么它可以毫无问题地工作。