委託如下:爲什麼我的自定義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