다음을 통해 공유


ARFaceGeometry 생성자

정의

오버로드

ARFaceGeometry(ARBlendShapeLocationOptions)

에 지정된 식을 사용하여 얼굴 기하 도형을 인스턴스화하는 생성자입니다. 얼굴 추적을 위한 하드웨어 지원이 필요합니다.

ARFaceGeometry(NSCoder)

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

ARFaceGeometry(NSDictionary)
ARFaceGeometry(NSObjectFlag)

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

ARFaceGeometry(IntPtr)

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

ARFaceGeometry(ARBlendShapeLocationOptions)

에 지정된 식을 사용하여 얼굴 기하 도형을 인스턴스화하는 생성자입니다. 얼굴 추적을 위한 하드웨어 지원이 필요합니다.

public ARFaceGeometry (ARKit.ARBlendShapeLocationOptions blendShapes);
new ARKit.ARFaceGeometry : ARKit.ARBlendShapeLocationOptions -> ARKit.ARFaceGeometry

매개 변수

설명

얼굴 추적을 ThrowOnInitFailure 지원하지 않는 디바이스에서 실행하면 이 생성자가 예외를 throw합니다.

적용 대상

ARFaceGeometry(NSCoder)

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

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

매개 변수

coder
NSCoder

unarchiver 개체입니다.

특성

설명

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

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

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

적용 대상

ARFaceGeometry(NSDictionary)

[Foundation.Export("initWithBlendShapes:")]
public ARFaceGeometry (Foundation.NSDictionary blendShapes);
new ARKit.ARFaceGeometry : Foundation.NSDictionary -> ARKit.ARFaceGeometry

매개 변수

blendShapes
NSDictionary
특성

적용 대상

ARFaceGeometry(NSObjectFlag)

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

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

매개 변수

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

적용 대상

ARFaceGeometry(IntPtr)

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

protected internal ARFaceGeometry (IntPtr handle);
new ARKit.ARFaceGeometry : nativeint -> ARKit.ARFaceGeometry

매개 변수

handle
IntPtr

nativeint

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

설명

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

적용 대상