Bagikan melalui


NSLocale Konstruktor

Definisi

Overload

NSLocale(NSCoder)

Konstruktor yang menginisialisasi objek dari data yang disimpan dalam objek unarchiver.

NSLocale(NSObjectFlag)

Konstruktor untuk memanggil kelas turunan untuk melewati inisialisasi dan hanya mengalokasikan objek.

NSLocale(IntPtr)

Konstruktor yang digunakan saat membuat representasi terkelola dari objek yang tidak dikelola; Dipanggil oleh runtime.

NSLocale(String)

NSLocale(NSCoder)

Konstruktor yang menginisialisasi objek dari data yang disimpan dalam objek unarchiver.

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

Parameter

coder
NSCoder

Objek unarchiver.

Atribut

Keterangan

Konstruktor ini disediakan untuk memungkinkan kelas diinisialisasi dari unarchiver (misalnya, selama deserialisasi NIB). Ini adalah bagian NSCoding dari protokol.

Jika pengembang ingin membuat subkelas objek ini dan terus mendukung deserialisasi dari arsip, mereka harus mengimplementasikan konstruktor dengan tanda tangan yang identik: mengambil satu parameter jenis NSCoder dan menghiasnya dengan deklarasi atribut [Export("initWithCoder:"].

Status objek ini juga dapat diserialisasikan dengan menggunakan metode pendamping, EncodeTo.

Berlaku untuk

NSLocale(NSObjectFlag)

Konstruktor untuk memanggil kelas turunan untuk melewati inisialisasi dan hanya mengalokasikan objek.

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

Parameter

t
NSObjectFlag

Nilai sentinel yang tidak digunakan, lewati NSObjectFlag.Empty.

Keterangan

Konstruktor ini harus dipanggil oleh kelas turunan ketika mereka sepenuhnya membangun objek dalam kode terkelola dan hanya ingin runtime mengalokasikan dan menginisialisasi NSObject. Ini diperlukan untuk mengimplementasikan proses inisialisasi dua langkah yang digunakan Objective-C, langkah pertama adalah melakukan alokasi objek, langkah kedua adalah menginisialisasi objek. Ketika pengembang memanggil konstruktor yang mengambil NSObjectFlag.Empty, mereka memanfaatkan jalur langsung yang berjalan hingga NSObject untuk hanya mengalokasikan memori objek dan mengikat objek Objective-C dan C# bersama-sama. Inisialisasi aktual objek terserah pengembang.

Konstruktor ini biasanya digunakan oleh generator pengikatan untuk mengalokasikan objek, tetapi mencegah inisialisasi aktual terjadi. Setelah alokasi berlangsung, konstruktor harus menginisialisasi objek. Dengan konstruktor yang dihasilkan oleh generator pengikatan, ini berarti secara manual memanggil salah satu metode "init" untuk menginisialisasi objek.

Pengembang bertanggung jawab untuk menginisialisasi objek sepenuhnya jika mereka menautkan menggunakan jalur NSObjectFlag.Empty.

Secara umum, jika konstruktor pengembang memanggil implementasi dasar NSObjectFlag.Empty, maka itu harus memanggil metode init Objective-C. Jika tidak demikian, pengembang harus menautkan ke konstruktor yang tepat di kelas mereka.

Nilai argumen diabaikan dan hanya memastikan bahwa satu-satunya kode yang dijalankan adalah fase konstruksi adalah alokasi NSObject dasar dan pendaftaran jenis runtime. Biasanya penautan akan terlihat seperti ini:

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

Berlaku untuk

NSLocale(IntPtr)

Konstruktor yang digunakan saat membuat representasi terkelola dari objek yang tidak dikelola; Dipanggil oleh runtime.

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

Parameter

handle
IntPtr

nativeint

Penunjuk (handel) ke objek yang tidak dikelola.

Keterangan

Konstruktor ini dipanggil oleh infrastruktur runtime (GetNSObject(IntPtr)) untuk membuat representasi terkelola baru untuk penunjuk ke objek Objective-C yang tidak dikelola. Pengembang tidak boleh memanggil metode ini secara langsung, sebaliknya mereka harus memanggil metode GetNSObject karena akan mencegah dua instans objek terkelola untuk menunjuk ke objek asli yang sama.

Berlaku untuk

NSLocale(String)

[Foundation.Export("initWithLocaleIdentifier:")]
[ObjCRuntime.DesignatedInitializer]
public NSLocale (string identifier);
new Foundation.NSLocale : string -> Foundation.NSLocale

Parameter

identifier
String
Atribut

Berlaku untuk