Outlet适用于模拟器,但在设备上崩溃

时间:2014-01-02 14:43:51

标签: iphone xamarin.ios interface-builder

我有一个非常简单的视图,带有一个按钮和一个标签。在XCode的Interface Builder中,我按住Ctrl键来获取对UIButton的引用并将其命名为btnPlay。在我的视图控制器中,我有这个代码:

public override void ViewDidLoad()
{
    base.ViewDidLoad();

    // On my phone this line causes a crash:
    Console.WriteLine("Button title: {0}", btnPlay.CurrentTitle);
}

当我在iPhone模拟器(3.5“Retina / iOS 7.0)中运行应用程序时,一切都很顺利。在断点处检查btnPlay会将其显示为MonoTouch.UIKit.UIButton对象。

当我在iPhone 5C(iOS 7)上运行该应用时,btnPlay显示为MonoTouch.UIKit.UIView对象,该对象没有CurrentTitle属性,因此会崩溃该应用。

这可能是什么原因?

更多信息

  • A stack trace from the device log crash report
  • 我的设置:Xamarin Studio V 4.2.2(版本2)* Mono 3.2.5 * Xcode 5.0.2(3335.32)* Xamarin.iOS版本:7.0.4.209(独立版)*建造日期:2013-11- 11 16:04:00-0500
  • 在我视图的.designer.cs类中,属性的类型为MonoTouch.UIKit.UIButton
  • 在.xib文件中,它是<button>
  • 从手机中删除应用并运行干净的版本无法解决问题
  • 我只能通过一个视图和一个按钮在一个简单的应用程序中重现行为,所以我要求从哪里开始寻找问题的线索

0 个答案:

没有答案