在Xamarin中什么时候需要Register属性?iOS应用程序



到底什么时候需要Xamarin中的Register属性?iOS应用程序?

我找到了一个现有的帖子,给出了一些解释它的作用,但我不清楚什么时候需要它。

我已经写了一个相当广泛的应用程序,没有被迫使用Register在任何我的UIViewControllerUIView子类。

在我的情况下,我做我所有的布局从c#代码,所以没有xib文件被发现。听起来Register的一个用例是与在Interface Builder中创建的视图交互。

有人能解释一下吗?

任何从NSObject派生的对象都将自动导出到Objective-C,技术上不需要[Register]属性。

但是,当您希望Objective-C名称与默认名称不同时,该属性很有用:

[Register ("MyObject")]
class MyCustomObject : NSObject
{
}

这将使用MyObject作为本机名称在Objective-C中注册托管MyCustomObject类型。

任何时候objective - c运行时需要创建一个托管类型的实例,它将需要注册。如果您从代码中创建自定义视图和控制器,则不需要使用它。如果你打算创建任何可重用的UI控件,那么你应该注册它们,以便使用布局编辑器的人可以使用它们。假设你创建了一个自定义UIView叫MyView并注册它,你可以在XCode中将UIView控件拖入视图控制器并将它的类型改为MyView而不是UIView。它仍然不会在XCode编辑器中渲染,但它会在运行时被创建为MyView,否则它会被创建为UIView。

最新更新