我刚刚开始使用Xamarin进行iOS开发,似乎遇到了障碍。我正在尝试创建一个自定义表格单元格来显示一些数据。因此,利用各种在线源的提示(例如,请参阅这里 ),我创建了一个.xib文件,删除了Xamarin自动创建的视图,并将其替换为UITableViewCell
。我向我的单元格添加了几个标签,我用RegisterNibForCellReuse
注册了我的单元格,并设置了从UITableViewSource
继承的类,以便在适当的时候返回我的自定义单元格。到目前一切尚好。
当我使用自定义单元格中的任何控件并尝试创建一个出口时,问题就开始了。在XCode中,创建出口,一切看起来都很好。回到Xamarin,我可以看到它自动地为它创建了一个属性。
[Register ("MyCustomCell")]
partial class MyCustomCell
{
[Outlet]
MonoTouch.UIKit.UILabel MyLabel { get; set; }
void ReleaseDesignerOutlets ()
{
if (MyLabel != null) {
MyLabel.Dispose ();
MyLabel = null;
}
}
}
但是,当我尝试运行代码时,会出现一个运行时错误,即This class in not key value coding-compliant for key the key MyOutlet
知道会发生什么吗?Xamarin的文档提出了一个可能的原因这里,但我不确定它是否相关。在Xamarin创建的任何一个设计文件中,我都没有看到这样的东西,它们都很好。我尝试将上面的属性定义替换为使用Connect
属性而不是Outlet
,并使用GetNativeField
和SetNativeField
,但是我看到了相同的结果。
发布于 2013-07-11 02:06:45
在我的例子中,有一段时间我遇到了这个问题,结果发现这是一个与构建过程有关的问题。以下是为我解决的问题:
右键单击您的项目,选择“选项”,然后在“构建”子标题下选择“iOS Build”,将-f添加到“附加mtouch参数”并重新构建。
发布于 2014-03-17 15:07:10
我遇到了同样的问题,最后我在XCode中做了Product->Clean,它解决了我的问题。
发布于 2014-11-24 10:33:39
右键单击您的项目,选择“选项”,然后在“构建”子标题下选择“iOS Build”,将-f添加到“附加mtouch参数”并重新构建。
https://stackoverflow.com/questions/16941157
复制相似问题