【发布时间】:2020-08-10 14:35:23
【问题描述】:
我刚刚开始使用 Xamarin 进行 iOS 开发,似乎遇到了障碍。我正在尝试创建一个自定义表格单元格来显示一些数据。因此,从各种在线资源中获取提示(例如,请参阅 here),我创建了一个 .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 文档提出了一个可能的原因here,但我不确定它是否相关。我在 Xamarin 创建的 任何 设计器文件中没有看到类似的东西,它们都很好。我尝试将上面的属性定义替换为使用Connect 属性而不是Outlet 并使用GetNativeField 和SetNativeField 的属性定义,但我看到了相同的结果。
【问题讨论】: