다음을 통해 공유


NSNumber 생성자

정의

오버로드

NSNumber(NSCoder)

unarchiver 개체에 저장된 데이터에서 개체를 초기화하는 생성자입니다.

NSNumber(UInt64)
NSNumber(UInt32)
NSNumber(UInt16)
NSNumber(Single)
NSNumber(SByte)
NSNumber(nuint)
NSNumber(nint)
NSNumber(nfloat)
NSNumber(Int64)
NSNumber(Int32)
NSNumber(Int16)
NSNumber(Double)
NSNumber(Byte)
NSNumber(Boolean)
NSNumber(NSObjectFlag)

초기화를 건너뛰고 개체만 할당하기 위해 파생 클래스에서 를 호출하는 생성자입니다.

NSNumber(IntPtr)

관리되지 않는 개체의 관리 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

NSNumber(NSCoder)

unarchiver 개체에 저장된 데이터에서 개체를 초기화하는 생성자입니다.

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

매개 변수

coder
NSCoder

unarchiver 개체입니다.

특성

설명

이 생성자는 클래스를 unarchiver에서 초기화할 수 있도록 제공됩니다(예: NIB 역직렬화 중). 이는 프로토콜의 NSCoding 일부입니다.

개발자가 이 개체의 하위 클래스를 만들고 보관 파일에서 역직렬화를 계속 지원하려는 경우 형식의 NSCoder 단일 매개 변수를 가져와서 [Export("initWithCoder:"] 특성 선언으로 데코레이트하는 동일한 서명을 사용하여 생성자를 구현해야 합니다.

이 개체의 상태는 도우미 메서드인 EncodeTo를 사용하여 직렬화할 수도 있습니다.

적용 대상

NSNumber(UInt64)

[Foundation.Export("initWithUnsignedLongLong:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (ulong value);
new Foundation.NSNumber : uint64 -> Foundation.NSNumber

매개 변수

value
UInt64
특성

적용 대상

NSNumber(UInt32)

[Foundation.Export("initWithUnsignedInt:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (uint value);
new Foundation.NSNumber : uint32 -> Foundation.NSNumber

매개 변수

value
UInt32
특성

적용 대상

NSNumber(UInt16)

[Foundation.Export("initWithUnsignedShort:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (ushort value);
new Foundation.NSNumber : uint16 -> Foundation.NSNumber

매개 변수

value
UInt16
특성

적용 대상

NSNumber(Single)

[Foundation.Export("initWithFloat:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (float value);
new Foundation.NSNumber : single -> Foundation.NSNumber

매개 변수

value
Single
특성

적용 대상

NSNumber(SByte)

[Foundation.Export("initWithChar:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (sbyte value);
new Foundation.NSNumber : sbyte -> Foundation.NSNumber

매개 변수

value
SByte
특성

적용 대상

NSNumber(nuint)

[Foundation.Export("initWithUnsignedInteger:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (nuint value);
new Foundation.NSNumber : nuint -> Foundation.NSNumber

매개 변수

value
System.System.UIntPtr System.unativeint
특성

적용 대상

NSNumber(nint)

[Foundation.Export("initWithInteger:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (nint value);
new Foundation.NSNumber : nint -> Foundation.NSNumber

매개 변수

value
System.System.IntPtr System.nativeint
특성

적용 대상

NSNumber(nfloat)

public NSNumber (nfloat value);
new Foundation.NSNumber : nfloat -> Foundation.NSNumber

매개 변수

value
nfloat

적용 대상

NSNumber(Int64)

[Foundation.Export("initWithLongLong:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (long value);
new Foundation.NSNumber : int64 -> Foundation.NSNumber

매개 변수

value
Int64
특성

적용 대상

NSNumber(Int32)

[Foundation.Export("initWithInt:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (int value);
new Foundation.NSNumber : int -> Foundation.NSNumber

매개 변수

value
Int32
특성

적용 대상

NSNumber(Int16)

[Foundation.Export("initWithShort:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (short value);
new Foundation.NSNumber : int16 -> Foundation.NSNumber

매개 변수

value
Int16
특성

적용 대상

NSNumber(Double)

[Foundation.Export("initWithDouble:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (double value);
new Foundation.NSNumber : double -> Foundation.NSNumber

매개 변수

value
Double
특성

적용 대상

NSNumber(Byte)

[Foundation.Export("initWithUnsignedChar:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (byte value);
new Foundation.NSNumber : byte -> Foundation.NSNumber

매개 변수

value
Byte
특성

적용 대상

NSNumber(Boolean)

[Foundation.Export("initWithBool:")]
[ObjCRuntime.DesignatedInitializer]
public NSNumber (bool value);
new Foundation.NSNumber : bool -> Foundation.NSNumber

매개 변수

value
Boolean
특성

적용 대상

NSNumber(NSObjectFlag)

초기화를 건너뛰고 개체만 할당하기 위해 파생 클래스에서 를 호출하는 생성자입니다.

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

매개 변수

t
NSObjectFlag

사용되지 않는 sentinel 값은 NSObjectFlag.Empty를 전달합니다.

설명

이 생성자는 관리 코드에서 개체를 완전히 구성하고 런타임에서 NSObject를 할당하고 초기화하려는 경우 파생 클래스에서 호출해야 합니다. Objective-C에서 사용하는 2단계 초기화 프로세스를 구현하는 데 필요하며, 첫 번째 단계는 개체 할당을 수행하는 것이며, 두 번째 단계는 개체를 초기화하는 것입니다. 개발자가 NSObjectFlag.Empty를 사용하는 생성자를 호출할 때 NSObject까지 진행되는 직접 경로를 활용하여 개체의 메모리를 할당하고 Objective-C 및 C# 개체를 함께 바인딩합니다. 개체의 실제 초기화는 개발자에게 달려 있습니다.

이 생성자는 일반적으로 바인딩 생성기에서 개체를 할당하지만 실제 초기화가 수행되지 않도록 하는 데 사용됩니다. 할당이 수행되면 생성자는 개체를 초기화해야 합니다. 바인딩 생성기에서 생성된 생성자를 사용하면 개체를 초기화하기 위해 "init" 메서드 중 하나를 수동으로 호출합니다.

NSObjectFlag.Empty 경로를 사용하여 연결된 경우 개체를 완전히 초기화하는 것은 개발자의 책임입니다.

일반적으로 개발자의 생성자가 NSObjectFlag.Empty 기본 구현을 호출하는 경우 Objective-C init 메서드를 호출해야 합니다. 그렇지 않은 경우 개발자는 대신 클래스의 적절한 생성자에 연결해야 합니다.

인수 값은 무시되며 단지 실행되는 유일한 코드가 기본 NSObject 할당 및 런타임 형식 등록인 생성 단계인지 확인합니다. 일반적으로 체인은 다음과 같습니다.

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

적용 대상

NSNumber(IntPtr)

관리되지 않는 개체의 관리 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

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

매개 변수

handle
IntPtr

nativeint

관리되지 않는 개체에 대한 포인터(핸들)입니다.

설명

이 생성자는 런타임 인프라(GetNSObject(IntPtr))에서 호출되어 관리되지 않는 Objective-C 개체에 대한 포인터에 대한 새 관리형 표현을 만듭니다. 개발자는 이 메서드를 직접 호출하면 안 됩니다. 대신 GetNSObject 메서드를 호출해야 합니다. 이 메서드는 관리되는 개체의 두 인스턴스가 동일한 네이티브 개체를 가리키는 것을 방지합니다.

적용 대상