Compartilhar via


NSDataAsset Construtores

Definição

Sobrecargas

NSDataAsset(NSObjectFlag)

Construtor para chamar classes derivadas para ignorar a inicialização e apenas alocar o objeto.

NSDataAsset(IntPtr)

Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime.

NSDataAsset(String)

Retorna os dados especificados no name arquivo "Contents.json" da pasta.

NSDataAsset(String, NSBundle)

Retorna os dados especificados no name arquivo "Contents.json" da pasta.

NSDataAsset(NSObjectFlag)

Construtor para chamar classes derivadas para ignorar a inicialização e apenas alocar o objeto.

protected NSDataAsset (Foundation.NSObjectFlag t);
new UIKit.NSDataAsset : Foundation.NSObjectFlag -> UIKit.NSDataAsset

Parâmetros

t
NSObjectFlag

Valor sentinela não utilizado, passe NSObjectFlag.Empty.

Comentários

Esse construtor deve ser chamado por classes derivadas quando eles constroem completamente o objeto em código gerenciado e apenas querem que o runtime aloque e inicialize o NSObject. Isso é necessário para implementar o processo de inicialização em duas etapas que o Objective-C usa, a primeira etapa é executar a alocação de objeto, a segunda etapa é inicializar o objeto. Quando os desenvolvedores invocam o construtor que usa o NSObjectFlag.Empty, eles aproveitam um caminho direto que vai até NSObject para apenas alocar a memória do objeto e associar os objetos Objective-C e C#. A inicialização real do objeto cabe ao desenvolvedor.

Normalmente, esse construtor é usado pelo gerador de associação para alocar o objeto, mas impede que a inicialização real ocorra. Depois que a alocação tiver ocorrido, o construtor precisará inicializar o objeto . Com construtores gerados pelo gerador de associação, isso significa que ele invoca manualmente um dos métodos "init" para inicializar o objeto.

É responsabilidade do desenvolvedor inicializar completamente o objeto se ele se encadear usando o caminho NSObjectFlag.Empty.

Em geral, se o construtor do desenvolvedor invocar a implementação base NSObjectFlag.Empty, ele deverá chamar um método de inicialização Objective-C. Se esse não for o caso, os desenvolvedores deverão encadear o construtor apropriado em sua classe.

O valor do argumento é ignorado e apenas garante que o único código executado seja a fase de construção é a alocação NSObject básica e o registro de tipo de runtime. Normalmente, o encadeamento teria esta aparência:

//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
	var initWithFrame = new Selector ("initWithFrame:").Handle;
	if (IsDirectBinding)
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
	else
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}

Aplica-se a

NSDataAsset(IntPtr)

Um construtor usado ao criar representações gerenciadas de objetos não gerenciados; Chamado pelo runtime.

protected internal NSDataAsset (IntPtr handle);
new UIKit.NSDataAsset : nativeint -> UIKit.NSDataAsset

Parâmetros

handle
IntPtr

nativeint

Ponteiro (identificador) para o objeto não gerenciado.

Comentários

Esse construtor é invocado pela infraestrutura de runtime (GetNSObject(IntPtr)) para criar uma nova representação gerenciada para um ponteiro para um objeto Objective-C não gerenciado. Os desenvolvedores não devem invocar esse método diretamente, em vez disso, devem chamar o método GetNSObject, pois isso impedirá que duas instâncias de um objeto gerenciado apontem para o mesmo objeto nativo.

Aplica-se a

NSDataAsset(String)

Retorna os dados especificados no name arquivo "Contents.json" da pasta.

[Foundation.Export("initWithName:")]
public NSDataAsset (string name);
new UIKit.NSDataAsset : string -> UIKit.NSDataAsset

Parâmetros

name
String

O nome da pasta do conjunto de dados no catálogo de ativos, sem a extensão ".dataset".

Atributos

Comentários

Por exemplo, chame new NSDataAsset("FolderName") para:

Aplica-se a

NSDataAsset(String, NSBundle)

Retorna os dados especificados no name arquivo "Contents.json" da pasta.

[Foundation.Export("initWithName:bundle:")]
[ObjCRuntime.DesignatedInitializer]
public NSDataAsset (string name, Foundation.NSBundle bundle);
new UIKit.NSDataAsset : string * Foundation.NSBundle -> UIKit.NSDataAsset

Parâmetros

name
String

O nome da pasta do conjunto de dados no catálogo de ativos, sem a extensão ".dataset".

bundle
NSBundle

O pacote que contém o catálogo de ativos.

Atributos

Comentários

Por exemplo, chame new NSDataAsset("FolderName", NSBundle.MainBundle) para:

Aplica-se a