Freigeben über


INExtension.GetHandler(INIntent) Methode

Definition

Entwickler überschreiben diese Methode, um das Handlerobjekt zurückzugeben, wenn es sich um ein Objekt handelt, intent auf das ihre Erweiterung reagieren kann.

[Foundation.Export("handlerForIntent:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 2, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.MacOSX, ObjCRuntime.PlatformArchitecture.All, null)]
public virtual Foundation.NSObject GetHandler (Intents.INIntent intent);
abstract member GetHandler : Intents.INIntent -> Foundation.NSObject
override this.GetHandler : Intents.INIntent -> Foundation.NSObject

Parameter

intent
INIntent

Die INIntent vom System empfangene.

Gibt zurück

Das Handlerobjekt des Entwicklers oder null , wenn intent nicht von der Erweiterung behandelt wird.

Implementiert

Attribute

Hinweise

Das Handlerobjekt des Entwicklers muss die Schnittstelle implementieren, die IIN{Intent}Handling dem Typ(en) von INIntent entspricht, für den diese Methode den Handler zurückgibt. Beispiel:

class MyExtension : INExtension
{
    override public NSObject GetHandler (INIntent intent)
    {
        if (intent is INSendMessageIntent)
        {
            return new MySendMessageHandler ();
        }
        return null;
    }
}

class MySendMessageHandler : NSObject, IINSendMessageIntentHandling
{
    public void HandleSendMessage (INSendMessageIntent intent, Action<INSendMessageIntentResponse> completion)
    {
        // ... Send a message here ...

        var activity = new NSUserActivity (nameof (INSendMessageIntent));
        var response = new INSendMessageIntentResponse (INSendMessageIntentResponseCode.Success, activity);
        completion (response);
    }
}

Gilt für: