我刚刚开始使用 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
and的属性定义SetNativeField
,但我看到了相同的结果。