2012-07-03 64 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