2012-07-03 63 views
0

希望這裏有人能幫助我。我已升級到MonoTouch 5.自升級以來,我的新創建的按鈕都不在我現有的項目中工作。在升級之前創建並綁定到事件的所有按鈕仍能正常工作,但只要我創建一個新按鈕並將其綁定到事件,應用程序就會在模擬器中崩潰。升級後點擊按鈕時出現單點故障

有趣的是,當我創建升級後一個新的項目,並創建界面生成器的按鈕,因爲我平時做到了,它綁定到我平時做了一個事件,它工作正常。只有在升級到升級之前創建的現有項目後添加新按鈕時,纔會發生崩潰。升級後創建和綁定的按鈕與升級前完成的按鈕完全相同。

升級後我還創建了新的測試項目,並比較了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 

該按鈕連接起來作爲在界面生成器的出口。按鈕事件代碼:

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"); 
      }; 
     } 

我真的很希望有人能幫助我解決這個問題。因爲這個問題,我會禿頂。

感謝 Ĵ

回答

0

原來有是正在失去它的實例的視圖。我將這個視圖移至一個類實例,現在它工作正常。

謝謝 J