Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.iOS应用程序中何时需要注册属性?_Xamarin.ios_Xamarin - Fatal编程技术网

Xamarin.iOS应用程序中何时需要注册属性?

Xamarin.iOS应用程序中何时需要注册属性?,xamarin.ios,xamarin,Xamarin.ios,Xamarin,Xamarin.iOS应用程序中所需的注册属性具体是什么时候 我找到了一个可以解释它的功能,但我不清楚什么时候需要它 我已经编写了一个相当广泛的应用程序,而没有被迫在我的UIViewController或UIView子类上使用Register 在我的例子中,我所有的布局都是从C代码开始的,所以找不到xib文件。听起来像是Register的一个用例正在与Interface Builder中创建的视图交互 有人能解释一下吗?只要Objective运行时需要创建托管类型的实例,它就需要注册。如果您从代

Xamarin.iOS应用程序中所需的
注册
属性具体是什么时候

我找到了一个可以解释它的功能,但我不清楚什么时候需要它

我已经编写了一个相当广泛的应用程序,而没有被迫在我的
UIViewController
UIView
子类上使用
Register

在我的例子中,我所有的布局都是从C代码开始的,所以找不到
xib
文件。听起来像是
Register
的一个用例正在与Interface Builder中创建的视图交互


有人能解释一下吗?

只要Objective运行时需要创建托管类型的实例,它就需要注册。如果您从代码中创建自定义视图和控制器,则不需要使用它。如果您计划创建任何可重用的UI控件,那么您应该注册它们,以便使用布局编辑器的人可以使用它们。假设您创建一个名为MyView的自定义UIView并注册它,您可以将UIView控件拖动到XCode中的视图控制器中,并将其类型更改为MyView而不是UIView。它仍然不会在XCode编辑器中呈现,但会在运行时创建为MyView,否则将创建为UIView

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

但是,如果希望Objective-C名称不同于默认名称,则该属性非常有用:

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

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

太好了,这非常有用。谢谢