委托如下:为什么我的自定义UIAlertViewDelegate会使调试器崩溃?
public class DoneAlertViewDelegate : UIAlertViewDelegate
{
UINavigationController controller;
EKEventStore store;
EKEvent ekEvent;
public DoneAlertViewDelegate(UINavigationController controller, EKEventStore storeEvent, EKEvent userEvent)
{
this.controller = controller;
store = storeEvent;
ekEvent = userEvent;
}
public override void Clicked (UIAlertView alertview, int buttonIndex)
{
if(buttonIndex == 0)
{
var alert = new UIAlertView("Date Stored", "Date saved in calendar",null,"OK",null);
alert.Show();
SaveEvent();
controller.PopViewControllerAnimated(true);
}
else if(buttonIndex == 1)
{
controller.PopToRootViewController(true);
}
}
public override void Canceled (UIAlertView alertView)
{
}
public void SaveEvent()
{
var err = new NSError();
store.SaveEvent(ekEvent,EKSpan.ThisEvent,out err);
}
}
这里的问题是,当我调试,这始终崩溃调试器(SIGSEGV)错误被调用。但是,当我简单地运行程序时,它按计划执行。这是一个单点触摸已知的问题(我得到一个Objective-C异常)还是我错过了一些关键的代码,使其工作?提前致谢!
编辑:应用程序输出 -
Monotouch.Foundation.MonoTouchException已经抛出“Objective-C的抛出异常名称:NSInvalidArgumentException原因: - [UITouchData alertView:clickedButtonAtIndex:]:无法识别的选择发送到实例0xdc614e0
你应该发布你的控制台日志。 – picciano
你有什么MT版本? – Krumelur