Надеюсь, кто-то здесь может мне помочь. Я обновился до MonoTouch 5. С момента обновления ни одна из моих недавно созданных кнопок не работает в моих существующих проектах. Все кнопки, созданные и привязанные к событиям до обновления, все еще работают отлично, но как только я создаю новую кнопку и привязываю ее к событию, приложение вылетает в симуляторе.Monotouch падает при нажатии кнопки после обновления
Интересная часть заключается в том, что когда я создаю новый проект после обновления и создаю кнопку в построителе интерфейса, как я обычно делал это, и привязывал его к событию, как я обычно делал, он отлично работает. Сбой происходит только после добавления новой кнопки после обновления до существующего проекта, который был создан до обновления. Кнопки, созданные и связанные после обновления, выполняются точно так же, как и до обновления.
Я также создал новые тестовые проекты после обновления и сравнил код в файлах AppDelegate и Main cs. Все точно так же!
есть ли что-то, что я могу потерять? Я разыскал интернет и пробовал решения повсюду, включая переполнение стека, но безрезультатно. Я действительно не хочу переместить существующий код в новые проекты, так как это большая работа.
Код:
Трассировка стека Ошибка:
012-07-03 19:18:30.189 Calculator[605:1207] -[__NSCFType btnSave:]: unrecognized selector sent to instance 0x7106fd0
Unhandled Exception: MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[__NSCFType btnSave:]: unrecognized selector sent to instance 0x7106fd0
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
at ScamCalculator.Application.Main (System.String[] args) [0x00000] in /Users/joachimpr/Projects/ScamCalculator/ScamCalculator/Main.cs:17
[ERROR] FATAL UNHANDLED EXCEPTION: MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[__NSCFType btnSave:]: unrecognized selector sent to instance 0x7106fd0
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
at ScamCalculator.Application.Main (System.String[] args) [0x00000] in /Users/joachimpr/Projects/ScamCalculator/ScamCalculator/Main.cs:17
Кнопка связана как выход в Interface Builder. Код события кнопки:
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
btnSave.TouchUpInside += (sender, e) => {
Console.WriteLine("click");
};
}
Я действительно надеюсь, что кто-то может мне помочь в этом. Из-за этого я становлюсь лысым.
Благодаря J