2012-07-03 4 views
0

Надеюсь, кто-то здесь может мне помочь. Я обновился до 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

ответ

0

Оказывается, существовало мнение, что теряет это экземпляр. Я переместил это представление в экземпляр класса, и теперь он отлично работает.

С благодарностью J

Смежные вопросы