INIntentResolutionResult 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
[Foundation.Register("INIntentResolutionResult", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 10, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 12, 0, ObjCRuntime.PlatformArchitecture.Arch64, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 2, ObjCRuntime.PlatformArchitecture.All, null)]
public abstract class INIntentResolutionResult : Foundation.NSObject
type INIntentResolutionResult = class
inherit NSObject
- 繼承
- 衍生
- 屬性
備註
INIntent可能需要特定資料才能完成 (,例如, INSendMessageIntent 可能需要 INPerson 或字串,其中包含電話號碼) 。 當使用者第一次與 Siri 互動,或可能是延伸模組可以提供的資料,或可能是提示使用者的內容時,可能會提供這類資料。 階層 INIntentResolutionResult 可讓開發人員指定所需的資料,以及哪些資料需要使用者互動。
下列範例示範介面的 IINSearchForMessagesIntentHandling 實作者如何多載 ResolveRecipients(IINSearchForMessagesIntentHandling, INSearchForMessagesIntent, Action<INPersonResolutionResult[]>) 方法,在某些案例中,使用 completion
NeedsValue 、 UnsupportedGetSuccess(INPerson) 或 呼叫 GetDisambiguation(INPerson[]) 處理常式,如情況所示:
[Export ("resolveRecipientsForSearchForMessages:withCompletion:")]
public void ResolveRecipients (INSendMessageIntent intent, Action<INPersonResolutionResult []> completion)
{
var recipients = intent.Recipients;
// If no recipients were provided we'll need to prompt for a value.
if (recipients.Length == 0)
{
completion (new INPersonResolutionResult [] { (Intents.INPersonResolutionResult)INIntentResolutionResult.NeedsValue });
return;
}
var resolutionResults = new List<INPersonResolutionResult> ();
foreach (var recipient in recipients)
{
var matchingContacts = new INPerson [] { recipient }; // Implement your contact matching logic here to create an array of matching contacts
if (matchingContacts.Length > 1)
{
// We need Siri's help to ask user to pick one from the matches.
resolutionResults.Add (INPersonResolutionResult.GetDisambiguation (matchingContacts));
}
else if (matchingContacts.Length == 1)
{
// We have exactly one matching contact
resolutionResults.Add (INPersonResolutionResult.GetSuccess (recipient));
}
else {
// We have no contacts matching the description provided
resolutionResults.Add ((Intents.INPersonResolutionResult)INIntentResolutionResult.Unsupported);
}
}
建構函式
INIntentResolutionResult(IntPtr) |
建立 Unmanaged 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。 |
INIntentResolutionResult(NSObjectFlag) |
在衍生類別上呼叫的建構函式,以略過初始化,並只配置 物件。 |
屬性
Class |
將值系結至T:Intent 中參數的抽象基類T:Intent。INIntent。 (繼承來源 NSObject) |
ClassHandle |
這個類別的控制碼。 |
DebugDescription |
此物件的開發人員有意義描述。 (繼承來源 NSObject) |
Description |
物件的描述,ToString 的 Objective-C 版本。 (繼承來源 NSObject) |
Handle |
處理 unmanaged 物件標記法) (指標。 (繼承來源 NSObject) |
IsDirectBinding |
將值系結至T:Intent 中參數的抽象基類T:Intent。INIntent。 (繼承來源 NSObject) |
IsProxy |
將值系結至T:Intent 中參數的抽象基類T:Intent。INIntent。 (繼承來源 NSObject) |
NeedsValue |
建立 INIntentResolutionResult 物件的 Factory 方法,指出參數需要值。 |
NotRequired |
建立 INIntentResolutionResult 物件的 Factory 方法,指出參數不需要值。 |
RetainCount |
傳回物件的目前 Objective-C 保留計數。 (繼承來源 NSObject) |
Self |
將值系結至T:Intent 中參數的抽象基類T:Intent。INIntent。 (繼承來源 NSObject) |
Superclass |
將值系結至T:Intent 中參數的抽象基類T:Intent。INIntent。 (繼承來源 NSObject) |
SuperHandle |
用來表示這個 NSObject 基類中方法的控制碼。 (繼承來源 NSObject) |
Unsupported |
建立 INIntentResolutionResult 物件的 Factory 方法,指出開發人員的應用程式不支援 參數。 |
Zone |
將值系結至T:Intent 中參數的抽象基類T:Intent。INIntent。 (繼承來源 NSObject) |