Compartir a través de


NSString Constructores

Definición

Sobrecargas

NSString()

Constructor predeterminado que inicializa una nueva instancia de esta clase sin parámetros.

NSString(NSCoder)

Constructor que inicializa el objeto a partir de los datos almacenados en el objeto unarchiver.

NSString(NSObjectFlag)

Constructor para llamar a las clases derivadas para omitir la inicialización y simplemente asignar el objeto.

NSString(IntPtr)

Constructor utilizado al crear representaciones administradas de objetos no administrados; Llamado por el entorno de ejecución.

NSString(String)

Crea un NSString a partir de una cadena de C#.

NSString(NSData, NSStringEncoding)

Crea una cadena a partir de un blob de datos especificado mediante una codificación específica.

NSString(String, Int32, Int32)

NSString()

Constructor predeterminado que inicializa una nueva instancia de esta clase sin parámetros.

[Foundation.Export("init")]
[ObjCRuntime.DesignatedInitializer]
public NSString ();
Atributos

Se aplica a

NSString(NSCoder)

Constructor que inicializa el objeto a partir de los datos almacenados en el objeto unarchiver.

[Foundation.Export("initWithCoder:")]
[ObjCRuntime.DesignatedInitializer]
public NSString (Foundation.NSCoder coder);
new Foundation.NSString : Foundation.NSCoder -> Foundation.NSString

Parámetros

coder
NSCoder

Objeto unarchiver.

Atributos

Comentarios

Este constructor se proporciona para permitir que la clase se inicialice desde un archivador (por ejemplo, durante la deserialización de NIB). Esto forma parte del NSCoding protocolo.

Si los desarrolladores quieren crear una subclase de este objeto y seguir admitiendo la deserialización desde un archivo, deben implementar un constructor con una firma idéntica: tomar un único parámetro de tipo NSCoder y decorarlo con la declaración de atributo [Export("initWithCoder:"].

El estado de este objeto también se puede serializar mediante el método complementario EncodeTo.

Se aplica a

NSString(NSObjectFlag)

Constructor para llamar a las clases derivadas para omitir la inicialización y simplemente asignar el objeto.

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

Parámetros

t
NSObjectFlag

Valor de sentinel sin usar, pase NSObjectFlag.Empty.

Comentarios

Las clases derivadas deben llamar a este constructor cuando construyen completamente el objeto en código administrado y simplemente quieren que el entorno de ejecución asigne e inicialice el NSObject. Esto es necesario para implementar el proceso de inicialización en dos pasos que usa Objective-C, el primer paso es realizar la asignación de objetos, el segundo paso consiste en inicializar el objeto. Cuando los desarrolladores invocan al constructor que toma NSObjectFlag.Empty aprovechan una ruta de acceso directa que va hasta NSObject para asignar simplemente la memoria del objeto y enlazar los objetos Objective-C y C# juntos. La inicialización real del objeto es para el desarrollador.

Normalmente, el generador de enlaces usa este constructor para asignar el objeto, pero impide que se produzca la inicialización real. Una vez realizada la asignación, el constructor tiene que inicializar el objeto. Con los constructores generados por el generador de enlaces, esto significa que invoca manualmente uno de los métodos "init" para inicializar el objeto.

Es responsabilidad del desarrollador inicializar completamente el objeto si se encadenan mediante la ruta de acceso NSObjectFlag.Empty.

En general, si el constructor del desarrollador invoca la implementación base NSObjectFlag.Empty, debe llamar a un método init de Objective-C. Si no es así, los desarrolladores deben encadenar al constructor adecuado en su clase.

El valor del argumento se omite y simplemente garantiza que el único código que se ejecuta es la fase de construcción es la asignación básica de NSObject y el registro de tipo en tiempo de ejecución. Normalmente, el encadenamiento tendría este aspecto:

//
// 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);
}

Se aplica a

NSString(IntPtr)

Constructor utilizado al crear representaciones administradas de objetos no administrados; Llamado por el entorno de ejecución.

protected internal NSString (IntPtr handle);
new Foundation.NSString : nativeint -> Foundation.NSString

Parámetros

handle
IntPtr

nativeint

Puntero (identificador) al objeto no administrado.

Comentarios

La infraestructura en tiempo de ejecución (GetNSObject(IntPtr)) invoca este constructor para crear una nueva representación administrada para un puntero a un objeto Objective-C no administrado. Los desarrolladores no deben invocar este método directamente, sino que deben llamar al método GetNSObject, ya que impedirá que dos instancias de un objeto administrado apunten al mismo objeto nativo.

Se aplica a

NSString(String)

Crea un NSString a partir de una cadena de C#.

public NSString (string str);
new Foundation.NSString : string -> Foundation.NSString

Parámetros

str
String

Una cadena.

Se aplica a

NSString(NSData, NSStringEncoding)

Crea una cadena a partir de un blob de datos especificado mediante una codificación específica.

[Foundation.Export("initWithData:encoding:")]
public NSString (Foundation.NSData data, Foundation.NSStringEncoding encoding);
new Foundation.NSString : Foundation.NSData * Foundation.NSStringEncoding -> Foundation.NSString

Parámetros

data
NSData

Bloque de datos encapsulados en un NSData, codificado en la codificación especificada.

encoding
NSStringEncoding

Codificación que se va a usar para interpretar el bloque en los datos.

Atributos

Se aplica a

NSString(String, Int32, Int32)

public NSString (string value, int start, int length);
new Foundation.NSString : string * int * int -> Foundation.NSString

Parámetros

value
String
start
Int32
length
Int32

Se aplica a