Class

NSExpression

An expression for use in a comparison predicate. 比較述部において使うための式。

Declaration 宣言

class NSExpression : NSObject

Overview 概要

Comparison operations in an NSPredicate derive from two expressions as instances of the NSExpression class. You create expressions for constant values, key paths, and so on. NSPredicateにおける比較演算は、2つの式からNSExpressionクラスのインスタンスとして引き出します。あなたは、式を定数値、キーパス、などに対して作成します。

Generally, anywhere in the NSExpression class hierarchy where there’s a composite API and subtypes that may only reasonably respond to a subset of that API, invoking a method that doesn’t make sense for that subtype throws an exception. 一般的に、NSExpressionクラス階層のどこででも、合成APIおよびそのAPIのサブセットに合理的に応答するだけであろう下位型が存在するところで、その下位型に理解できないメソッドを発動することは、例外をスローします。

Aggregate Expressions 集計式

NSExpression.ExpressionType.aggregate allows you to create predicates containing expressions that evaluate to collections that contain further expressions. The collection may be an NSArray, NSSet, or NSDictionary object.

Core Data doesn’t support aggregate expressions. Core Dataは、集計式をサポートしません。

Subquery Expressions サブクエリ式

The NSExpression.ExpressionType.subquery creates a subexpression that returns a subset of a collection of objects. This allows you to create sophisticated queries across relationships, such as a search for multiple correlated values on the destination object of a relationship. これは、あなたに洗練されたクエリをリレーションシップを越えて作成させます、例えばあるリレーションシップの行き先オブジェクト上での複数の相互に関連した値に対する検索など。

Set Expressions 集合式

The set expressions (NSExpression.ExpressionType.unionSet, NSExpression.ExpressionType.intersectSet, and NSExpression.ExpressionType.minusSet) combine results in a manner similar to the NSSet methods.

Both sides of these expressions must evaluate to a collection; the left side must evaluate to an NSSet object, and the right side can be any other collection type. それら式の両側は、コレクションに評価されなければなりません;左側はNSSetオブジェクトに評価されなければなりません、右側は何らかの他のコレクション型であることができます。


(expression UNION expression)
(expression INTERSECT expression)
(expression MINUS expression)

Core Data doesn’t support set expressions. Core Dataは、集合式をサポートしません。

Function Expressions 関数式

In macOS 10.4, NSExpression only supports a predefined set of functions: sum, count, min, max, and average. You access these predefined functions in the predicate syntax using custom keywords (for example, MAX(1, 5, 10)). macOS 10.4では、NSExpressionはあらかじめ定義された関数の集合だけをサポートします:sum, count, min, max, そしてaverage。あなたは、それらあらかじめ定義された関数に、述部構文において、あつらえのキーワードを使ってアクセスします(例えば、MAX(1, 5, 10))。

In macOS 10.5 and later, function expressions also support arbitrary method invocations. To implement this extended functionality, use the syntax FUNCTION(receiver, selectorName, arguments, ...), as in the following example: macOS 10.5以降では、関数式はまた随意のメソッド発動をサポートします。この拡張された機能性を実装するために、構文FUNCTION(receiver, selectorName, arguments, ...),を使ってください、以下の例でのように:


FUNCTION(@"/Developer/Tools/otest", @"lastPathComponent") => @"otest"

All methods must take one or more id arguments and return an id value, although you can use the CAST expression to convert datatypes with lossy string representations (for example, CAST(####, "NSDate")). macOS 10.5 extends the CAST expression to provide support for casting to classes for use in creating receivers for function expressions. すべてのメソッドは、1つまたはそれ以上のidをとり、あるid値を返さなければなりません、とはいえあなたはCAST式を使ってデータ型を非可逆文字列表現に変換できます(例えば、CAST(####, "NSDate"))。macOS 10.5は、CAST式を拡張して、クラスにキャストするためのサポートを、関数式に対するレシーバの作成において使うために提供します。

Although Core Data supports evaluation of the predefined functions, it doesn’t support the evaluation of custom predicate functions in the persistent stores (during a fetch). Core Dataがあらかじめ定義された関数の評価をサポートするにもかかわらず、それはあつらえの述部関数の評価を永続的な格納において(フェッチの間の)サポートしません。

Topics 話題

Creating an Expression 式を作成する

Creating an Expression for a Value 式をある値に対して作成する

Creating a Collection Expression コレクション式を作成する

Creating a Subquery サブクエリを作成する

Creating a Conditional Expression 条件式を作成する

Creating an Expression Using Blocks 式をブロックを使って作成する

Creating an Expression for a Function 式を関数のために作成する

Getting Information About an Expression 式についての情報を取得する

Evaluating an Expression 式を評価する

Accessing the Expression Block 式ブロックにアクセスする

Relationships 関係

Inherits From 継承元

Conforms To 次に準拠

See Also 参照

Filtering フイルタする