仅限设备上的例外:此类与密钥bookingDateLabel不符合密钥值编码

时间:2014-05-06 06:26:40

标签: iphone ios7 xamarin.ios xamarin xcode-storyboard

在过去几天构建Xamarin iOS Universal故事板应用程序时,这个异常消息真的很困惑。我在设备上调试时收到此异常,同时构建我的自定义UITableViewCellBookingItemCellController,它在xcode storyboard中的UITableViewCell上指定为类),然后是应用程序&调试器崩溃:

  

NSUnknownKeyException原因:[   setValue:forUndefinedKey:]:此类不是键值   符合编码标准的密钥bookingDateLabel。   (MonoTouch.Foundation.MonoTouchException)

它崩溃的行是var cell..中的GetCell行:

public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
{
  var cell = tableView.DequeueReusableCell (CellIdentifier, indexPath);
  var item = TableItems[indexPath.Row];
..

最令人费解的是,我的表视图加载和项目显示,我可以在模拟器上浏览它们,我只在iOS 7的iPhone 4上调试时收到此错误。

bookingDateLabel确实存在于由有效出口创建的.designer.cs文件中:

[Outlet]
[GeneratedCode ("iOS Designer", "1.0")]
MonoTouch.UIKit.UILabel bookingDateLabel { get; set; }

同样,这适用于模拟器,但不适用于设备。怎么会这样? 有什么想法帮派?

提前致谢。

1 个答案:

答案 0 :(得分:5)

OMFG .....我找到了答案。对不起,我不是故意发誓,但我今天花了大约3个小时,我甚至制作了新的类文件,同样的错误出现在不同的文件名,这真的让我。

您将在网上阅读的有关此问题的第一个建议是尝试清理解决方案并重建。我试过了。显然干净不够好。我刚进去并删除了binobj个文件夹,这就解决了这个问题。

对于其他人来说,撕掉他们的头发。我的表视图现在加载正常。哎呀!!