GKRuleSystem 类

定义

维护对象的集合 GKRule ,并根据需要激活它们。

[Foundation.Register("GKRuleSystem", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 9, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 11, ObjCRuntime.PlatformArchitecture.Arch64, null)]
public class GKRuleSystem : Foundation.NSObject
type GKRuleSystem = class
    inherit NSObject
继承
GKRuleSystem
属性

注解

GKRuleSystem 允许开发人员构建专家系统。 支持经典和模糊逻辑系统。

在任何时候, GKRule 要么位于要计算的规则集合中 Agenda ,要么位于 集合中 Executed 。 方法 Reset() 将所有规则移回 Agenda 集合。

方法 Evaluate() 根据 中每个规则 Agenda的谓词计算,其次,根据它们 Salience 添加到 的顺序 GKRuleSystem来计算。 其谓词计算结果为 true 执行其操作函数的规则,并将其置于集合中 Executed

下面演示了“FizzBuzz”质询:如果数字被 3 均匀地整除,则输出“fizz”。 如果被 5 整除,则输出“buzz”。 否则,输出数字本身。 请注意,此代码在输入为 15 时正确将 设置为output“buzzfizz”,因为 和 buzzRule 的计算结果true均为 fizzRule

var clearRule = GKRule.FromPredicate ((rules) => reset, rules => {
	output = "";
	reset = false;
});
clearRule.Salience = 1;

var fizzRule = GKRule.FromPredicate (mod (3), rules => {
	output += "fizz";
});
fizzRule.Salience = 2;
var buzzRule = GKRule.FromPredicate (mod (5), rules => { 
	output += "buzz";
});
buzzRule.Salience = 2;

var outputRule = GKRule.FromPredicate (rules => true, rules => {
	System.Console.WriteLine (output == "" ? input.ToString () : output);
	reset = true;
});
outputRule.Salience = 3;

var rs = new GKRuleSystem ();
rs.AddRules (new [] {
	clearRule,
	fizzRule,
	buzzRule,
	outputRule
});

for (input = 1; input < 16; input++) {
	rs.Evaluate ();
	rs.Reset ();
}

构造函数

GKRuleSystem()

默认构造函数,初始化此类的新实例。

GKRuleSystem(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

GKRuleSystem(NSObjectFlag)

在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。

属性

Agenda

其谓词尚未计算为 true的 对象的集合GKRule

Class

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
ClassHandle

此类的句柄。

DebugDescription

此对象的开发人员有意义的说明。

(继承自 NSObject)
Description

对象的说明,即 ToString 的 Objective-C 版本。

(继承自 NSObject)
Executed

系统中已评估为 true 并执行其操作的规则。

Facts

一组任意对象, GKRuleSystem 其维持在 [0,1] 范围内的真实等级。

Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 NSObject)
IsDirectBinding

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
IsProxy

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
RetainCount

返回对象的当前 Objective-C 保留计数。

(继承自 NSObject)
Rules

系统中的所有规则,无论是 在 Agenda 中还是 Executed

Self

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
State

一个可变字典,用于保存 操作所依据 Rules 的状态信息。

Superclass

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
SuperHandle

用于表示此 NSObject 基类中方法的句柄。

(继承自 NSObject)
Zone

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)

方法

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

使用 NSString keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

使用字符串 keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddRule(GKRule)

将 添加到 rule 系统中,将其放置在 中 Agenda

AddRules(GKRule[])

将 添加到 rules 系统中,将它们放置在 中 Agenda

AssertFact(NSObject)

fact将 添加到系统的知识库,成绩为 1.0。

AssertFact(NSObject, Single)

fact将 添加到系统的知识库,并通过 grade增加其真值。

AwakeFromNib()

从 nib 文件加载对象后调用。 替代器必须调用 base。AwakeFromNib () 。

(继承自 NSObject)
BeginInvokeOnMainThread(Action)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

在主 UI 线程上异步调用指定的代码。

(继承自 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Bind(String, NSObject, String, NSDictionary)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
BindingInfo(String)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
BindingOptionDescriptions(String)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
BindingValueClass(String)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
CommitEditing()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
ConformsToProtocol(IntPtr)

调用以确定此对象是否实现指定的协议。

(继承自 NSObject)
Copy()

执行基础 Objective-C 对象的副本。

(继承自 NSObject)
DangerousAutorelease()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
DangerousRelease()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
DangerousRetain()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

指示对多关系的索引发生了更改。

(继承自 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
DidChangeValue(String)

指示对指定的键进行了更改。

(继承自 NSObject)
Dispose()

释放 NSObject 对象使用的资源。

(继承自 NSObject)
Dispose(Boolean)

释放 NSObject 对象使用的资源。

(继承自 NSObject)
DoesNotRecognizeSelector(Selector)

指示此对象无法识别指定的选择器。

(继承自 NSObject)
Equals(NSObject)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Equals(Object)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Evaluate()

计算 中的 Agenda 谓词,并执行计算结果为 true的操作。

ExposedBindings()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
GetBindingInfo(NSString)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
GetBindingOptionDescriptions(NSString)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
GetBindingValueClass(NSString)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

检索指定键的值。

(继承自 NSObject)
GetGrade(NSObject)

检索 的真实 fact等级。

GetHashCode()

为当前实例生成哈希代码。

(继承自 NSObject)
GetMaximumGrade(NSObject[])

检索 之间的 facts最大真实等级。 (模糊或)

GetMethodForSelector(Selector)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
GetMinimumGrade(NSObject[])

检索 之间的 facts最低真实等级。 (模糊和)

GetNativeField(String)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
GetNativeHash()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Init()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
InitializeHandle(IntPtr)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
InitializeHandle(IntPtr, String)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Invoke(Action, Double)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Invoke(Action, TimeSpan)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
InvokeOnMainThread(Action)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
InvokeOnMainThread(Selector, NSObject)

同步调用主 UI 线程上的指定代码。

(继承自 NSObject)
IsEqual(NSObject)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
IsKindOfClass(Class)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
IsMemberOfClass(Class)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
MarkDirty()

将常规对等对象 (IsDirectBinding 为 true) 提升为 toggleref 对象。

(继承自 NSObject)
MutableCopy()

创建指定 NSObject 的可变副本。

(继承自 NSObject)
ObjectDidEndEditing(NSObject)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

指示相对于此对象的指定 keyPath 处的值已更改。

(继承自 NSObject)
PerformSelector(Selector)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
PerformSelector(Selector, NSObject)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double)

在当前实例上调用选择器,如果 obj 不为 null,则将其作为其单个参数传递。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
PerformSelector(Selector, NSObject, NSObject)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
PrepareForInterfaceBuilder()

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
RemoveAllRules()

GKRule删除 中的所有 GKRuleSystem对象。

RemoveObserver(NSObject, NSString)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
Reset()

将所有 GKRule 对象从 Executed 集合移动到 Agenda

RespondsToSelector(Selector)

此对象是否识别指定的选择器。

(继承自 NSObject)
RetractFact(NSObject)

fact从集合中删除 Facts

RetractFact(NSObject, Single)

从 中的内部置信度中fact减去 grade 。 如果内部置信度降至 0.0, fact 则删除 。

SetNativeField(String, NSObject)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
SetNilValueForKey(NSString)

将指定键的值设置为 null。

(继承自 NSObject)
SetValueForKey(NSObject, NSString)

将键指定的属性的值设置为指定的值。

(继承自 NSObject)
SetValueForKeyPath(IntPtr, NSString)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

(继承自 NSObject)
SetValueForKeyPath(NSObject, NSString)

设置可以使用键路径访问的属性的值。

(继承自 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

指示尝试将值写入未定义的键。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

将此 NSObject 的值设置为指定字典中的值。

(继承自 NSObject)
ToString()

返回当前实例的值的字符串表示形式。

(继承自 NSObject)
Unbind(NSString)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
Unbind(String)
已过时.

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
ValueForKey(NSString)

返回与指定键关联的属性的值。

(继承自 NSObject)
ValueForKeyPath(NSString)

返回可以使用键路径访问的属性的值。

(继承自 NSObject)
ValueForUndefinedKey(NSString)

指示尝试读取未定义键的值。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

指示指定键中指定索引的值即将更改。

(继承自 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

维护对象的集合 GKRule ,并根据需要激活它们。

(继承自 NSObject)
WillChangeValue(String)

指示指定键的值即将更改。

(继承自 NSObject)

扩展方法

ObjectDidBeginEditing(NSObject, INSEditor)

维护对象的集合 GKRule ,并根据需要激活它们。

ObjectDidEndEditing(NSObject, INSEditor)

维护对象的集合 GKRule ,并根据需要激活它们。

GetValidModes(NSObject, NSFontPanel)

维护对象的集合 GKRule ,并根据需要激活它们。

ValidateToolbarItem(NSObject, NSToolbarItem)

维护对象的集合 GKRule ,并根据需要激活它们。

GetDebugDescription(INSObjectProtocol)

维护对象的集合 GKRule ,并根据需要激活它们。

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

维护对象的集合 GKRule ,并根据需要激活它们。

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

维护对象的集合 GKRule ,并根据需要激活它们。

EndPreviewPanelControl(NSObject, QLPreviewPanel)

维护对象的集合 GKRule ,并根据需要激活它们。

GetAccessibilityCustomRotors(NSObject)

获取适用于 this 对象的 对象的数组UIAccessibilityCustomRotor

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

设置适用于 this 对象的 对象数组UIAccessibilityCustomRotor

适用于

另请参阅