INIntentResolutionResult 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。
[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实现者在某些情况下completion
如何使用 、Unsupported、 GetSuccess(INPerson)或 GetDisambiguation(INPerson[]) 调用处理程序NeedsValue(如情况所规定):方法重载ResolveRecipients(IINSearchForMessagesIntentHandling, INSearchForMessagesIntent, Action<INPersonResolutionResult[]>):
[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) |
创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。 |
INIntentResolutionResult(NSObjectFlag) |
在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。 |
属性
Class |
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。 (继承自 NSObject) |
ClassHandle |
此类的句柄。 |
DebugDescription |
此对象的开发人员有意义的说明。 (继承自 NSObject) |
Description |
对象的说明,即 ToString 的 Objective-C 版本。 (继承自 NSObject) |
Handle |
处理指向非托管对象表示形式的 (指针) 。 (继承自 NSObject) |
IsDirectBinding |
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。 (继承自 NSObject) |
IsProxy |
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。 (继承自 NSObject) |
NeedsValue |
用于创建 INIntentResolutionResult 对象的工厂方法,该对象指示参数需要值。 |
NotRequired |
用于创建 INIntentResolutionResult 对象的工厂方法,该对象指示参数不需要值。 |
RetainCount |
返回对象的当前 Objective-C 保留计数。 (继承自 NSObject) |
Self |
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。 (继承自 NSObject) |
Superclass |
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。 (继承自 NSObject) |
SuperHandle |
用于表示此 NSObject 基类中方法的句柄。 (继承自 NSObject) |
Unsupported |
用于创建 INIntentResolutionResult 对象的工厂方法,该对象指示开发人员的应用不支持 参数。 |
Zone |
用于将值绑定到 T:Intent 中的参数的抽象基类T:Intent。INIntent。 (继承自 NSObject) |